Java - The Reason Behind Its Never Ending
James Gosling developed Java at Sun Microsystems which was later subsidized by the Oracle
Corporation. Java is a programming language; it was released in the year 1995. Most
programming languages are platform dependent that is they run on a particular environment say
Windows XP, Vista, and UNIX etc. If a program has been written in a certain programming
language in a Windows XP environment, the same program will not run in a MAC OS. This
created a credible hindrance in encoding high level programs, as they had to be coded for
different platforms individually, which required a lot of man power, time and funds.
To deal with such a glitch, Java was developed. It is completely platform independent and Java
programs can run on any machine as long as the Java Virtual machine (JVM) is installed in it.
JVM is the interface used to make Java platform independent. As long as a machine has JVM
installed in it, it is capable of running any Java program. Java is an object oriented programming
language. Most of its syntax is similar to that of the C and C++ programming languages. The
class libraries and compilers of Java had been created and developed by Sun Microsystems as
well along with the introduction of this programming language in 1995.
As discussed above, one of the basic and most important features of Java is its portability. This
property is achieved because, when the programs written in Java are compiled, they do not get
converted into machine code. Instead they are converted into Java byte code. This feature is
unique to Java and acts as a building block towards Java's portability property. The byte code is
compiled into machine code during run time by the Just In Time compiler or JIT. This byte code
is then interpreted by the JVM. The program is run on a Java Runtime Environment (JRE). JRE
is used for Java applications and applets.
Java provides a series of activities including, threading, networking and even graphical features
via applets. Java programs are very slow due to the fact that they are first converted into byte
code and then into machine code. They also require a lot of storage memory space. The speed of
Java programs has been increased to great lengths with the use of JIT. A few platforms have
microcontrollers in their hardware systems. These microcontrollers are capable of running a Java
program without the presence of an interface. That is they do not require JVM in order to run
programs written in Java.
Memory management is another feature of Java that has helped in popularizing this
programming language. The garbage collector in Java is responsible for managing memory. The
garbage collector runs automatically and does not need any explicit command. Objects are
created with every Java program as it is an object oriented programming language, the garbage
collector frees the memory from objects which are not required or which will not be required. In
order to check whether an object is required or not its recent references are checked. It the object
is not being referenced anymore. Then it is free to be removed or taken up by the garbage
collector. Sometimes these might lead to deletion or freeing of objects that might be required at a
later stage. The memory management feature of Java frees the programmers from manually
removing the unwanted objects and dealing with memory management.