Soon internet became the big thing of the time. The growth of internet required some programming language which would be supported on each and every platform. So this need of platform independent language was became the reason for fast and steady growth of Java language. From that point it was growing surprisingly and survived throughout as robust, platform independent and architecture neutral object oriented programming language. There are very basic and very important features of Java that you need to understand clearly as a Java Developer. If these concepts are not clear to you then it might be difficult to you understand the complete programming language. So lets review the Java language features or Java buzzwords as they are called in developers world.
Some of the very good and highly recommended books on java are:
What are the features of Java programming language?
- Platform Independent: The main feature due Java programming language is so much popular and widely used it platform independent nature. Java is platform independent means that you do not need write different code for different platforms available. Once you created a application in Java it will run on all platforms available with same results. Suddenly a question will arise in your mind and that will why is java platform independent? or what makes java platform independent? Your answer is here: Why Java programming language is platform independent? When you execute any java app or program your code in java will compiled in to special type of file called '.class' (.class) and name of file would be same as your Java file. This '.class' file contains 'bytecode' which can be executed only by Java vrtual machine. This is the main reason why java is platform independent. Every java program or java application runs on a virtual machine called 'Java Virtual Machine' or simply JVM. The task of JVM is to create an environment which will be virtual, to run your Java applications. So if you have JVM installed on your machine that implies you can run any Java app developed using any platform. So only thing required to run Java apps is to have JVM installed on your system and it does not matter what the Operating system you are using and on what os or platform it was developed.
- Object Oriented: Java is object oriented and that means you create objects along with their data (Which represents state of objects) and methods (Which are tasks that can be performed by an particular object). So the code written in Java is simple to read and understnad. Object oriented programming style is style of programming where code is divided and attached to particular objects using their methods and data. So it will be very easier to maintain the code written in Java. Another style of programming language is procedural programming where emphasis will be on 'Actions' (methods) only and the code in procedural programming language lags so much even if sometimes procedural languages are faster to execute.
- Architecture Neutral: Everyday we see some new innovations in the field of programming and technology. Hardware are changing always and sometimes you need to change or upgrade the software because new platform is not compatible with old version of software. You might be aware of two very popular architectures x86 and x64. So these platforms differ at machine level hardware and you need to install appropriate version of software for appropriate platform, for maximum and accurate performance results.. But if your application is written in java then you don't need write different code for different platforms. One of the basic principle while developing Java was "Write Once, Run everywhere, Every time!" and Java implements that quite well.
- Simple: Java is simple programming language and it uses many conventions, signatures and formats from either C or C++ (which were very popular before among software engineers!). So if you know the basics of C or C++ you learn Java very fast and easily. Also Java language developers tried to eliminate many confusing features like pointers, so that it would be easy to understand and code in Java. Moreover the object oriented features also helps you to learn java easily once you grasp the basic concepts.
- Secure: Java is secure programming language are always secure, mainly because of the 'bytecode verifier'. When you run your java application the JVM will be started automatically and JVM starts the execution of app. While executing and Java application JVM checks the code for errors and if there anything which is not bytecode. Since bytecode is only required to run the java application all other pieces of code will escaped and will not be executed. That code other bytecode can not be executed by JVM. So your application will be secure from external sources. Java also provides security mechanism through the concept of encapsulation, to protect the data attached to your object.
- Portable and Robust: Portability is one of the main feature of java. That means applications written in Java can be executed on any machine where you have JVM installed. Java is robust programming language which means programs or applications coded in java always give some response under any circumstances. So it is also a reliable programming language.
- Distributed: Though java was developed as language for electronics devices later the growth of Java was simulated by the growth of internet. And Java evolved as dynamic language of internet. It has the capabilities to handle the protocols like http, ftp, smtp etc and it can be used to program at client machines as well as for server side programming.
- Dynamic: Java programs carries large amount of run time data that can be used to authenticate and authorize the use of objects. This implies that we can link our code dynamically in safe manner.
- Threaded: Java supports multithreading. Threads are lightweight processes which are assigned simple and small tasks and are capable of running in parallel. This makes java programs more efficient and faster, since your main task will be achieved by dividing it into smaller tasks which are executed simultaneously using the most possible resources of CPU.
- Memory handling: Memory handling in java is mostly an automated task. Java implements memory management using garbage collector and developers need not worry about memory management while coding in java (in most of the cases!). Though you can call garbage collector at any point of time using 'System.gc()' function but it is not guaranteed to be run at specific time and it is convention not to use this. So almost everything related to memory management in java is automated.
- Exception Handling: Java provides the feature of exception handling to indicate the errors in program input or other type of errors. It can help to prevent your app from crashing and guides the users in order to use your app properly.
- Interpreted as well as compiled: Java language is both compiled and interpreted. It will compiled to a '.class' (i.e. to bytecode) and bytecode from '.class' file will be interpreted later, at the time of execution. So it makes java more faster and more efficient.
You can use following books to clear your concepts about object oriented programming language and java concepts:
0 comments:
Post a Comment