Java has following buzzwords
Java syntax is very much similar to C++
No pointer concept to make it simpler and auto garbage collection (no need to worry about deleting un used objects).
Object-oriented programming (OOP) is a programming paradigm.
This represents the concept of ” objects ” that have data fields (attributes that describe the object) and associated methods.
So all our application will have different types of objects which interact with each other.
Platform is a software/hardware where any program runs.
Java has a software called JVM which runs on the software platform(Operating system).
Since Java can run on any of the platform but JVM should be there.
So we can develop our program in any of the platform and run in any of the platform.
Java is more secured by itself because program runs inside a separate Virtual Machine Sandbox.
The binary form of programs running on the Java platform is not native machine code but an intermediate bytecode.
The JVM performs verification on this bytecode before running it to prevent the program from performing unsafe operations such as branching to incorrect locations, which may contain data rather than instructions.
It also allows the JVM to enforce runtime constraints such as array bounds checking.
This means that Java programs are significantly less likely to suffer from memory safety flaws such as buffer overflow than programs written in languages such as “C” which do not provide such memory safety guarantees.
The platform does not allow programs to perform certain potentially unsafe operations. such as pointer arithmetic or unchecked type casts.
It also does not allow manual control over memory allocation and deallocation.
Users are required to rely on the automatic garbage collection provided by the platform. This also contributes to type safety and memory safety.
Java compiler detects the compile time errors early before generating byte code.
Java provides Strong memory deallocation of un used objects using Garbage collection mechanism and hence avoids unnecessary memory leakage.
Provides Powerfull exception handling mechanism which helps to run a programs normally even during the exceptions.
Many other features definitely makes java as a robust.
We can carry the byte code to any of the platform to run it.
Java is an Interpreted language because JVM interprets the byte code into machine code and runs in any of the Platform.
Thread is a program which is used to execute on its own separately.So java allows us to create multiple threads and execute them in parallel.
Java provides distributed mechanism where one application can communicate with other using technologies like RMI,EJB.