Saturday, December 28, 2019

Features of Java

Features of Java

Features of Java programming language

Java is high industrial-strength programming language.Java programs are compiled into byte-codes and they are executed in Java Virtual Machine. Java provides write once run anywhere(WORA). Once you have compiled your program into the byte-codes you do not need to recompile this program will stop you just need Java Run-time Environment to execute this code. Java has the following features.


Java in simple because most of the syntax in java is coming from C and C++ shows the programmers of C and C++ can easily move or migrate from these languages to Java. The removal of complex features of C++ and the induction of new features like automatic garbage collection make Java easier to learn. 

Object-oriented programming language

Java supports all the features of object-oriented programming like inheritance, polymorphism, abstraction, encapsulation, classes, and objects. The object-oriented programming paradigm enables developers to create large applications with ease. 


Java is a robust programming language because it provides features like automatic garbage collection and dynamic memory allocation. Java is also a strictly typed language that makes Java a robust programming language. Robustness of a programming language ensures that there will be no failure during the program execution.


All Java programs are executed inside JVM or Java Virtual Machine, so the Hardware and the Operating system are not exposed. JVM ensures all the security checks and compliances before executing the code. 

Java Secure


Java supports multithreading, which is very useful for creating interactive and high-performance applications. A larger application can be divided into smaller tasks and these smaller tasks can be executed separately for combined results. All these tasks can be executed simultaneously to provide enhanced performance. These tasks are known as Threads. The thread is a small unit of the task assigned that can be dispatched by the Thread schedular. The execution of multiple threads simultaneously is known as multithreading. 

High performance

Java is a high-performance programming language. Java enables on-the-fly execution of the bytecodes with extremely fast Java interpreter, JIT(just in time compiler) and Hotspot Technology. 

Automatic Garbage Collection

Java provides the facility for automatic garbage collection which keeps the developers free from the task of destroying used objects and makes memory locations free from the garbage. 

Architecture Neutral

Java is an architectural neutral programming language so we can run some java code on different machines and Hardware architectures. 

Platform Independent

We can run any Java program on any platform (Operating System/HW). Java is a platform-independent programming language due to bytecode which enables Java to be programming to be a platform-independent programming language. 


Java enables us to create distributed software applications. Java supports technologies like RMI and EJBs etc. Java provides an extensive library of classes and interfaces for dealing with TCP/IP protocols like HTTP, FTP SMTP, etc very easily. This makes programmers create and handle network connections and applications that work in a distributed environment. 


Java Programs are first compiled to byte codes by the Javac Compiler. This byte code can be executed anywhere on any device using Java interpreter which is the part of JVM. It means Java is both compiled as well as an interpreted programming language. Java is also an interpreted programming language that enables Java to be a programming language for the internet. 


Java is a dynamic programming language as objects are loaded at runtime and type resolution is done at the runtime. Dynamic method dispatch and runtime polymorphism are examples of the dynamic nature of Java.

Video Tutorial