Java is a simple to use, distributed, object oriented, interpreted, secure, robust, architecture neutral, portable, multithreaded, high performance, dynamic language.
In the recent release of Java SE 8, there are plenty of advancements in form of multiple configurations are incorporated to suite various platform types like J2EE for Enterprise Applications and J2ME for Mobile Applications.
The most important factor in Java’s popularity is its platform independence and being an object oriented language, its ability to Write Once and Run Anywhere. Java also has the credit of being simple and secure environment providing architectural neutrality and robustness. It also provides portability factor to its application when makes it stand out among the programming languages.
- Object Oriented: Java is classified as an Object Oriented Language because it handles everything as an Object.
- Platform Independent: Java is compiled in an independent byte-code which makes it platform independent. This gives Java a cutting edge over other languages like C, C++ etc. which compile code for a specific platform like x86 etc. Java code requires a Java Virtual Machine (JVM) to execute its code and this allows it to be implemented on multiple platforms.
- Simple: Java is driven from C & C++ that is why its syntax is quite similar to C & C++ which makes it easy to learn and easy to use. Therefore, programmers across the globe didn’t have any issue in adopting Java without a hassle.
- Secure: Java provides a secure development environment and hence the application developed in Java are normally malware-free and non-alterable. Also it supports cryptography which enable it to develop secure applications.
- Architectural-neutral: Java applications are architectural-neutral or called as Platform independent. It uses Java Virtual Machine (JVM) to execute compiled programs on any type of the processor
- Portable: Being platform independent and having no dependencies aspects makes Java portable. Java Compiler is written in ANSI C having a clean POSIX subnet portability boundary.
- Robust: Java checks errors mainly at compiling time and runtime.
- Multithreaded: Java’s multithreaded feature allows the program to execute multiple tasks simultaneously. This allows developers to program seamless interactive applications.
- Interpreted: Java byte code is translated on the fly to native machine instructions and is not stored anywhere. The development process is more rapid and analytical since the linking is an incremental and light weight process.
- High Performance: Java provides high performance by using Just-In-Time (JIT) compilers.
- Distributed: Java is an internet friendly program that supports distributed environment.
- Dynamic: Java’s ability to adapt to an evolving environment makes it more dynamic than C or C++. An extensive amount of run-time information can be carried by Java which is used for runtime verification and access resolution to objects.