Easy to learn. Java is language with powerful functionality without the confusing features (e.g. pointers). More than 50% bugs are reduced because of not using confusing and difficult features.
Java is a purely object oriented programming language. It implements the basic object technology of C++ with enhancement. Concepts of encapsulation, Inheritance & polymorphism are strictly implemented by the java.
Java programs are assumed as platform independent, that means program may be written in any software/hardware environment as well as program written on one machine can execute on any other machine without installing complete JDK.
Java is a robust in nature, in Java Problems are checked at compile and run-time. It can catch the bugs at the early stage of development. Java is strictly a typed lang. It has both a compiler and an interpreter. Compiler checks code at run time and garbage collection is taking care of by java automatically. Thus it is a robust language.
Java is a secure language as Java codes passes several tests before executing on machine e.g. Byte-code verifier, class loader etc.
Java has built-in extensive TCP/IP networking capabilities, Because of these in-built capabilities writing distributed or network-based applications is very easy in java.
It means program can be written in a machine with any software/hardware architecture. This program can easily execute on a machine with different architecture.
Being architecture neutral, Java is highly portable. Java builds its user interfaces via an abstract window system so the windows can be implemented on UNIX, PC & MAC environments.
Write Once, Run Anywhere
Dynamic Memory Management
In Java, You don’t have to write code to manage memory, it automatically takes care with Garbage Collection process.
Threads are light-weighted processes that allow many simultaneous activities in 1 program. Multithreading improves interactive performance and real-time behaviour.