The central ideas of Java technology are easy to understand; programmers can start being productive right away.
The Java programming language is designed to be object-oriented from the ground up, meaning that objects are created and manipulated within Java code.
Since Java has many of the same object-oriented features as C++ and a similar "look and feel," programmers can migrate to Java easily and be productive quickly.
The Java programming language is designed to create software that is highly reliable. It provides compile-time checking followed by a second level of run-time checking.
In Java, obj are created with the 'new' operator and there is no need for pointer data types, pointer arithmetic, or manual garbage collection. This eliminates many potential prgm errors, giving Java devs confidence that their code will be free of major issues.
The Java Compiler generates bytecodes, which is an intermediate format that is designed to transport code efficiently to multiple hardware and software platforms. The interpreted nature of Java technology solves both the binary distribution problem and the version problem.
Java platform achieves high performance by using a system where the interpreter can run without having to check the run-time env constantly. Automatic garbage collector runs as a low-priority background thread, which then makes it likely that memory will be available when needed.
Multithreading allows for Java applications to have many concurrent threads of activity, resulting in a high degree of interactivity for the end user.