Features of Java:
1. Platform independent: An important feature of Java is Platform independent. A program written in java can be executed on different platforms without any changes. Because of this portability feature Java is a popular language for internet.
2. Compiled and interpreted language: Java is a both a compiled and interpreted language. The program written in Java is first translated by java compiler into Byte code. After that the java interpreter converts the byte code into machine code which can be executed on machine.
3. Object oriented programming: Java is an object oriented language. Java supports all object oriented programming features like abstraction, encapsulation, data hiding, message passing etc.
4. Robust and secure. Java provides automatic garbage collection which automatically removes unused objects. It also supports exception handling which handles errors (exceptions) at the run time. Java provides security by ensuring that applets cannot access the local system.
5. Simple and easy to learn: Java is a simple and easy to learn as it is quite similar to C and C++ languages. Java does not support those features of C or C++ which affects the security of code. For e.g., Java does not use goto statement, pointers, operator overloading and multiple inheritance.
6. Automatic memory management: Java provides automatic garbage collection which automatically deletes an unused object and deallocates memory allocated to that object.
7. Multithreaded: Java supports Multithreading. Multithreading is a technique by which the programmer can execute multiple sub processes concurrently (at the same time). In others words, Multithreading means executing multiple parts of a program.