Advantages & Features of Java
Today I'm going to tell you about the basic advantages and features of Java that make Java a powerful and most popular programming language:
In my last article Introduction to Java: A true object oriented programming language, I introduced you all to Java and told you about history of Java.
As stated in Java language white paper by Sun Microsystems: "Java is a simple, object-oriented, distributed, interpreted, robust, secure, architecture neutral, portable, multithreaded, and dynamic."
Advantages & Features of JAVA
Simple & Easy to Learn
Yes. Java is simple easy to learn. Java was designed to be easy to use and is therefore easy to write, compile, debug, and learn than other programming languages. You can learn, if you have basic knowledge about programming language (ex: looping, function, etc). Before you start to learn Java, you must have good knowledge of oops concept (ex: encapsulation, abstraction, polymorphism, and access controls...) then only the learning makes useful.
Platform Independence
The concept of Write-once-run-anywhere (known as the Platform independent) is one of the most important feature of Java language. Its ability to run & move Java programs easily from one platform to another (same or different) but the platform must have the JVM. It makes Java one of the most powerful languages.
Complete Object Oriented
Java is complete object oriented because everything in Java is object and no coding outside of class definitions, including main(). This allows to create reusable code and modular programs. Main characteristics of any language Object Oriented are Inheritance, Encapsulation, Polymorphism.
Compiler+Interpreter Combo
A Java programs first compiled to bytecodes that are interpreted by a Java virtual machines (JVM). Bytecodes don't have any static error because we get it after compilation then it can be interpreted and run by JVM and on any platform. The two steps of compilation and interpretation provides improved security.
Robust
Robust stands for reliability. Compiler checks the program whether there any static error and interpreter checks any run time error and makes the system secure from crash. It has the powerful exception handling and type checking mechanism as compare to other programming languages. All the above features make the Java language reliable or robust.
Automatic Memory Management
Java has the strong memory allocation and automatic garbage collection mechanism. Automatic garbage collection - memory management handled by JVM.
Good Performance
In beginning early versions of Java, interpretation of bytecodes resulted the slow performance but the advance version of JVM uses the adaptive and just in time compilation technique that improves the performance.
Distributed
Distributed computing involves several computers on a network working together. Java is designed to make distributed computing easy with the networking capability that is inherently integrated into it.
Secure
Java is one of the first programming languages to consider security as part of its design. The Java language, compiler, interpreter, and runtime environment were each developed with security in mind. Java does not use pointers and checks limit of array index. Java has the two steps of compilation and interpretation. Java programs runs inside the virtual machine.
Multithreaded
Multithreading programming is a remarkably interesting concept in Java. Multithreading is the capability for a single program having different threads executing independently at the same time. In Java, multithreaded programming has been smoothly integrated into it. Multithreading works the similar way as multiple processes run on one computer.
Don't forget to check out my next article to know Difference between JDK, JRE, JVM and JIT (JDK vs JRE vs JVM vs JIT)