Java Features

Here we will be learning complete basic and latest version features. Java adds new features in every java release, So let’s start with the common Features of Java.

Java Basic Features

The language which can run on all operating systems and on all processors irrespective their architectures and providers. C, C++ are treated as non-portable languages and Java is called portable language.


Java is simple and easy understandable language. Rich set of API (application protocol interface) is available to develop any complex application. Java contains user friendly syntax’s for developing Java applications.

Platform Independent

A technology is said to be platform independent if and only if which can run on different operating systems.Other languages like C, C++ are treated as platform dependent languages since these languages are taking various amount of memory spaces on various operating systems.

The language like Java will have a common data types and the common memory spaces on all operating systems. When we compile Java code, .java file will be converted into .class file by the compiler. The .class file can run in any operating system. Hence Java language is treated as platform independent language. We will see more about to .class file in coming articles.

Architectural Neutral

A language or technology is said to be architectural neutral which can run on any available processors in the real world. The languages like C, C++ are treated as architectural dependent. Java can run on any processor irrespective of their architecture and Vendor.

Portability= Platform Independent
Architectural Neutral


The language which can run on all operating systems and on all processors irrespective their architectures and providers. C, C++ are treated as non-portable languages and Java is called portable language.


A flow of control is known as thread.Java is Multi-Threaded language. A multi-threaded program is one in which there exists multiple flow of controls i.e., threads. The java.lang provides a Thread class which supports methods start, run, and stop a thread, and check on status. A program is said to be multi-threaded program if and only of there exists n number of sub programs. For each and every sub-program there exists a separate flow of control. All such flow of control are executing concurrently. Such flow of controls is known as multi-threading applications. The languages like C, C++ are treated as threads as single threaded modeling languages (STML). SMTL are those in which there exists single flow of control. The languages like JAVA and DOT NET are treated as multi-threaded modeling languages (MTML). MTML are those in which there exist. Whenever we write a JAVA program there exists by default two threads foreground/child thread and background /main/ parent thread. A foreground thread is one which always executes user defined sub-programs. In a Java program there is a possibility of existing n number of foreground threads.

A background thread is one which always monitors the status of foreground thread. In each and every JAVA program there exists only one background thread.Hence background thread will be created first and later foreground thread will be created


A service is a said to be a distributed service which runs in multiple servers and that service can be accessed by number of clients across the globe. In order to develop distributed applications we must require architecture called trusted network architecture. To develop these applications we require a technology called J2EE. Distributed applications are preferred large scale organizations.


Java makes an effort to eliminate error prone codes by emphasizing mainly on compile time error checking and runtime checking. But the main areas which Java improved were Memory Management and mishandled Exceptions by introducing automatic Garbage Collector and Exception Handling.


Java is highly secure. Java secure enable us to develop virus free, temper free machines. Java program runs in JRE with almost null interaction with system OS, hence it is more secure.

High Performance

Java is an interpreted language, so it will never be as fast as a compiled language like C or C++. Java gives us high performance with use of just-in-time compiler.

Object Oriented

In java everything is an Object. Every object will have some data and behaviour. Java can be easily extended as it is based on Object Oriented Model.

Latest Version Features

JAVA 8 Features
JAVA 9 Features
JAVA 10 Features