1) Clean, easy, simple and clear: Java is a simple and clear language. If anyone has coding experience with C or C++ then he can easily code in Java.
2) Object Oriented: Java is a object oriented language.
3) Platform independent: Java does not depend on the platform where it is run.
4) Applications and Applets: Java is used to create two types of programs, Applications and Applets. An application runs in a local computer in a operating system. Applet is run on a remote browser in internet.
5) Security: Java applets can be downloaded without any concerns for virus attacks on the local computer. Java provided high level of security unlike any other language.
6) Robust and reliable: In Java, codes are checked for errors in both compile time and run time. So, programming errors are almost gone. There are no issues to de-allocate an allocated memory. It is all done automatically in Java. Also, exception handling is done automatically.
7) Multithreading and multiprocessing: Java is a multithreaded and a multiprocessing language. By this feature a program can used to do many tasks simultaneously.
8) Performance: Java is a high performance language. Performance is achieved mainly by the use of bytecodes.
9) Distributed language: Java is used in internet which is distributed in nature.
10) Dynamic language: Due to its run time capabilities, Java is highly dynamic in nature.