Java – Features

Features of Java Programming Language

Easy to learn. Java is language with powerful functionality without the confusing features (e.g. pointers). More than 50% bugs are reduced because of not using confusing and difficult features.

Object Oriented
Java is a purely object oriented programming language. It implements the basic object technology of C++ with enhancement. Concepts of encapsulation, Inheritance & polymorphism are strictly implemented by the java.

Platform Independent
Java programs are assumed as platform independent, that means program may be written in any software/hardware environment as well as program written on one machine can execute on any other machine without installing complete JDK.

Java is a robust in nature, in Java Problems are checked at compile and run-time. It can catch the bugs at the early stage of development. Java is strictly a typed lang. It has both a compiler and an interpreter. Compiler checks code at run time and garbage collection is taking care of by java automatically. Thus it is a robust language.

Java is a secure language as Java codes passes several tests before executing on machine e.g. Byte-code verifier, class loader etc.

Java has built-in extensive TCP/IP networking capabilities, Because of these in-built capabilities writing distributed or network-based applications is very easy in java.

Architecture Neutral
It means program can be written in a machine with any software/hardware architecture. This program can easily execute on a machine with different architecture.

Being architecture neutral, Java is highly portable. Java builds its user interfaces via an abstract window system so the windows can be implemented on UNIX, PC & MAC environments.

Write Once, Run Anywhere

Dynamic Memory Management
In Java, You don’t have to write code to manage memory, it automatically takes care with Garbage Collection process.

Threads are light-weighted processes that allow many simultaneous activities in 1 program. Multithreading improves interactive performance and real-time behaviour.

Author: Mahesh

Technical Lead with 10 plus years of experience in developing web applications using Java/J2EE and web technologies. Strong in design and integration problem solving skills. Ability to learn, unlearn and relearn with strong written and verbal communications.