As a college professor teaching Java programming language, I learned that Java has the following features. The first features of Java is garbage collection, there is a thread responsible for freeing any memory that can be freed. This happens automatically during the lifetime of the Java program. In other programming language like C++, the programmer is the one who is responsible for the deallocation of memory programmatically.
The second features of Java programming language is the Java Virtual Machine, JVM provides the hardware platform specifications to which you compile all Java technology code. This specification enables the Java software to be platform-independent because the compilation is done for a generic machine known as the JVM. These makes program created in Java portable because it can run in any operating system or flat form.
The third features of Java programming language is code security, it is attained in Java through the implementation of its Java Runtime Environment or JRE. The JRE runs code compiled for a Java Virtual Machine and performs class, code verification and finally code execution.
The forth characteristic of Java programming language is Java is simple, Java code is easy to write and understand, it has a concise set of features that makes it easy to learn and use like C programming language.
The fifth characteristics of Java is Object Oriented, It is a pure object oriented programming language. Other features of Java programming language are robust means Java encourages error-free programming by being strictly type and performing run-time check. Java supports multi-threaded programming; Java is design with the distributed environment , program created in Java can be transmitted and run over the internet.