Java is a high level, robust, object-oriented, class-based, concurrent, secured and general-purpose programming language. The syntax Java is very much similar to C and C++. It is used to create window-based applications, mobile applications, web applications and enterprise applications. Java applications are also called WORA (Write Once Run Anywhere). This implies that a complied Java application is expected to run on any other Java-enabled system without any adjustment. As of now, Java is one of the most popular programming languages in use particularly for client-server web applications. Some important features of Java are given below:
Simple Language - Java is easy to learn and its syntax is quite simple and easy to understand. The syntax Java is very much similar to C++. The complicated concepts of C++ are either removed or redesigned in a simple way in Java, for example, explicit pointers and operator overloading has been removed from java but it is an important concept of C++.
Object-Oriented Programming Language - Java is an object-oriented programming language. Everything in Java is an object which has some data and behavior. All basic concepts of OOPS like object, class, inheritance, polymorphism, data abstraction and encapsulation are supported in Java.
Portable Language - Java Byte code can be carried to any platform. No implementation dependent features. Everything related to storage is predefined, for example, size of primitive data types
High Performance Language - Java is an interpreted language, so it will never be as fast as a compiled language like C or C++. But, Java enables high performance with the use of just-in-time compiler.
Platform Independent Language - Unlike other programming languages such as C, C++ etc which are compiled into platform specific machines. Java is guaranteed to be write-once, run-anywhere language. On compilation Java program is compiled into byte code. This byte code is platform independent and can be run on any machine, plus this byte code format also provide security. Any machine with Java Run time Environment can run Java Programs.
Robust Language - Java makes an effort to eliminate error prone codes by emphasizing mainly on compile time error checking and run time checking. But the main areas which Java improved were memory management and mishandled exceptions by introducing automatic garbage collector and exception handling.
Secure Language - When it comes to security, Java is always the first choice. With java secure features it enable us to develop virus free, temper free system. Java program always runs in Java run time environment with almost null interaction with system OS, hence it is more secure.
Multi-Threading Language - Java multi-threading feature makes it possible to write program that can do many tasks simultaneously. Benefit of multi-threading is that it utilizes same memory and other resources to execute multiple threads at the same time, like While typing, grammatical errors are checked along.
Architectural Neutral Language - Compiler generates byte codes, which have nothing to do with a particular computer architecture, hence a Java program is easy to interpret on any machine.