JAVA was developed by Sun Micro-systems Inc in 1991, later acquired by Oracle Corporation. It is a simple programming language. Writing, compiling and debugging a program is easy in java. It helps to create modular programs and reusable code.
1. Java is an Object Oriented language
Java is an object-oriented language; everything must be encapsulated in an object. Object oriented programming is a way of organizing programs as collection of objects, each of which represents an instance of a class.
4 main concepts of Object Oriented programming are:
2. Robust Language
Robust means reliable. Java programming language is developed in a way that puts a lot of emphasis on early checking for possible errors, that’s why java compiler is able to detect errors that are not easy to detect in other programming languages. The main features of java that makes it robust are garbage collection, Exception Handling and memory allocation.
3. Java language more secure than other language
java don’t have pointers and we cannot access out of bound arrays in java. That’s why several security flaws like stack corruption or buffer overflow is impossible to exploit in Java. Every time when a user compiles the Java program, the Java compiler creates a class file with Bytecode, which are tested by the JVM at the time of program execution for viruses and other malicious files.
4. Java is distributed
Using java programming language we can create distributed applications. RMI(Remote Method Invocation) and EJB(Enterprise Java Beans) are used for creating distributed applications in java. In simple words: The java programs can be distributed on more than one systems that are connected to each other using internet connection. Objects on one JVM (java virtual machine) can execute procedures on a remote JVM.
Multithreading is a Java feature that allows concurrent execution of two or more parts of a program for maximum utilisation of CPU.
java code that is written on one machine can run on another machine. The platform independent byte code can be carried to any platform for execution that makes java code portable.
7. Tested code re-usability
The Java object encapsulation provides support for the concept of “programming by contract”. This allows the developers to re-use the code that has already been tested while developing Java enterprise applications.
8. Access Control functionality
Java’s access-control functionality on variables and methods within the objects provide secure program by preventing access to the critical objects from the untrusted code.
9. Garbage collection mechanism
Garbage collection mechanism aids more to the security measures of Java. It provides a transparent storage allocation and recovering unutilized memory rather than deallocating memory through manual action. It will help developers to ensure the integrity of the program during its execution and avoids any JVM crash due to incorrect freeing of memory.
10. Great collection of Open Source libraries
Open source libraries ensures that java should be used everywhere. Apache, Google, and other organization has contributed lot of great libraries, which makes Java development easy, faster and cost effective.