Important Features of Java Programming Language
The key feature of Java programs is to compile once and run everywhere, in other words, write a program and compile it and run on multiple operating systems.
A list of most important features of Java language is given below
4. Platform independent
7. Architecture neutral
9. High Performance
Java is easy and simple to use and learn. It is derived from C and C++ languages, many features are added from these languages. If we know C++ then we know almost 20% of Java.
C++ is a semi-object-oriented but Java is fully object-oriented language expect that it supports primitive data types. It has all OOP features such as Class, Object, Abstraction Inheritance, Abstraction, Polymorphism.
The byte code of a Java program is portable which means we can compile it any machine and can run this byte code on any machine. This feature makes Java so popular and strong.
Java uses the Java virtual machine as abstraction and doesn’t access the operating system directly. This makes Java programs highly portable. A Compiled java program (Java class) can be run without any modification on all supported platforms e.g. Windows, Linux.
The Java platform is designed with security features and runtime systems such as static type checking at compile time and runtime checking, which let us give more concentration on application creation rather than the security of invading application from outside.
With automatic garbage collection and simple memory management schemes, exception handling features, generics support, no pointers like C++, Java guaranties programmer for a highly reliable application.
- A central issue of Java programmers was that code longevity and portability. One of the main problems facing programmers is that no guarantee exists that if you write a program today, it will run tomorrow- even on the same machine.
- Operating system upgrades and changes in core system resources canal combine to make a program malfunction.
Interpreted and compiled language
Java source code is transferred into the byte code format which does not depend on the target platform. These byte code instructions will be interpreted by the Java virtual machine (JVM). So when we compile Java code it completes in a two-step process. First, compile to byte code by using the javac command. Then this compiled program can be run using java command that starts a java runtime environment.
Java performance is impressive for an interpreted language, mainly due to the use of intermediate byte code.
Multithreading is Java’s one of the most advanced features in programming languages. In Java multiple independent threads can complete their jobs at the same time, to utilize CPU more and consume time. Multithreading is a built-in feature in Java.
- Java is designed for the distributed environment of the Internet because it handles TCP/IP protocols.
- Java also supports Remote Method Invocation (RMI). This feature enables a program to invoke methods across a network.
- Java is capable of dynamically linking in new class libraries, methods, and objects.
- Java can also determine the type of class through a query, making it possible to either dynamically link or abort the program.