Features of Java

  1. Simple
  2. Object-Oriented
  3. Platform independent
  4. Portable
  5. Secured
  6. Robust
  7. Architecture neutral
  8. Interpreted
  9. High Performance
  10. Multithreaded
  11. Distributed
  12. Dynamic


1) Simple

Java programming language is easy to learn and its syntax is simple and clean and easy for humans to read.

2) Object Oriented

Java is an object oriented programming language. In java everything is an object.

Using object oriented we can easily manage and organize our software as a combination of different types of objects that incorporate both data and behavior. 

Some basics concept of OOPs in java are :

  • Object
  • Class
  • Inheritance
  • Polymorphism
  • Abstraction
  • Encapsulation

3) Platform Independent

Java is platform independent that’s why because in java is a write once and run anywhere language.

  • Java Class File > Mac/OS JVM
  • Java Class File > Window JVM
  • Java Class File > Linux JVM

Java is also a software based platform that runs on top of other hardware based platforms. It has two components:

  • Runtime Environment
  • API(Application Programming Interface)

Java code can be executed on multiple platforms, for eg:- Window, Linux, Sun Solaris, Mac/OS etc. Java code is compiled by the compiler and converted into bytecode. This bytecode is a platform-independent code because it can be run on multiple platforms, i.e., Write Once and Run Anywhere (WORA).

4) Portable

Java is portable because it make easier you to carry the Java bytecode to any platform. It doesn't require any implementation.

5) Secured

Java provides an enhanced feature of secured.

Using java we can develop virus-free systems.

Here are two important factors of Java called secured.

  • No explicit pointer
  • Java program run inside a virtual machine sandbox
  • Classloader
  • Bytecode verifier
  • Security manager

6) Robust

  • The actual meaning of robust is strong and healthy. Java is robust due to below factors
  • It uses strong memory management
  • There is a lack of pointers that avoids security problems.
  • Java uses Exception Handling and type checking mechanism while development time and compile time and also run time.
  • Java uses automatic garbage collection which runs on the Java virtual machine(JVM) to clear the objects which are not used by a Java application anymore.

7) Architectural Nature

We can say Java is architecture neutral because there are no implementation dependent features, for example, the size of primitive types is fixed.