The following are the features of Java:
- Object-Oriented
- Platform Independent
- Simple and secure
- Portable
- Robust
- Dynamic
- Multi-threaded
- High Performance
- Compiled and Interpreted
- Distributed.
1. Object-Oriented:
Java is an object-oriented programming language. OOP divides the program into a number of objects and makes it simpler. This Object has some data and behavior which is used inflow of data from one function to another. Users can easily extend java as it is based on Object Model. Therefore understanding OOP is an important step to learn Java Programming. Basic concepts of OOPs are:
- Object
- Class
- Inheritance
- Polymorphism
- Abstraction
- Encapsulation
2. Platform Independent:
Unlike other programming languages such as C, C++, etc, which require a specific platform to be compiled whereas Java is compiled into byte-code and this byte-code is Platform Independent. This means Java is only required to write-once and can be run on any platform such as Windows, Linux, Mac OS, etc. This byte-code is interpreted by the Java Virtual Machine (JVM).
3. Simple and secure:
Java is very easy to learn, clean, and easy to understand. Java language is a simple programming language because of its C++ syntax. Java is also best known for the security that it provides and enables us to develop virus-free systems. it is secured because java programs run inside the virtual machine sandbox.
4. Portable:
As mentioned above, the byte-code is Platform Independent and can be carried to any other platform for execution of Java program that makes Java code portable.
5. Robust:
Robust means strong. Java is strong and reliable because of its ability for early checking for errors, mainly on compilation error and run-time checking.
6. Dynamic:
Since Java is designed to adapt to a transformed environment, it makes java dynamic. it is considered to be more dynamic than C or C++. Java supports the dynamic loading of classes and compilation and garbage collection.
7. Multi-threaded:
This feature in Java allows Java to perform more than one task at once by defining multiple threads for maximum utilization of CPU. The advantage of the use of Multi-threaded is that it does not require to occupy space in memory for each thread instead it shares the common memory space.
8. High Performance:
Java-enabled High performance by introducing JIT- Just In Time compiler, that is the compiler only compiles the code or method that is called, making compilation process faster and consume less-time.
9. Compiled and Interpreted:
Java has both Compiled and Interpreted feature where the compilation feature allows to create byte code after compilation. And after, the byte codes are converted into Machine Language with the help of an Interpreter. Hence both features are required for the execution of Java Code.
10. Distributed:
Java is distributed because it allows users/developers to create distributed applications that are designed to run on computer networks. RMI(Remote Method Invocation) and EJB (Enterprise Java Beans) are used for creating distributed applications. In other words, this feature allows the user to access the files from any machine that is connected to each other on the internet.