What is Java and Java Virtual Machine

What is Java and Java Virtual Machine

Java is an object oriented programming language developed by Sun Microsystems. The Java programming language is easy to learn, whether you’re totally new at programming, or just want to pick up a new language. Java is the perfect computer language for being competitive in today’s industries or even to create programs as a hobby. Java is also easy to set up, so advanced computer skills are not required.

Java is freely available to public for all purposes from personal website development to big enterprises. It looks lot like C and C++ but has various extra-developed features that make it safer, easier and more useful than other object oriented languages. It is now most demanded programming skill used for developing various web-based application in e-commerce and universities.

The most important feature of Java is that it can run on different types of computer without any modification. This feature is popularly known as? Write once, run anywhere?

Java is used widely with Server Side web programming, where the program runs on the web server and the user can see the page using any web browser.  Also programs developed by using Java technology can be sold without paying or consulting to the Sun Microsystems.

While Java started out as a niche language for developing applets or small programs that run in Web browsers, it has evolved to arguably become the most important programming language for developing ecommerce and other Web-driven applications. Its area of use is growing daily and includes dynamic Web-content generation with servlet technology, the building of business components with Enterprise JavaBeans, the creation of cross-platform user interfaces with Swing, and much more. Portable, distributed, multitier, object-oriented programs driven by the Web are the order of the day, and there is no language better than Java for writing these programs.

Java Virtual Machine (JVM)

JVM or Java Virtual machine is the principal component of Java architecture that provides the cross platform functionality and security to Java. JVM is a software process that converts the compiled Java byte code to machine code. Byte code is an intermediary language between Java source and the host system.

Most programming language like C and Pascal translate the source code into machine code for one specific type of machine as the machine language vary from system to system. So most complier produce code for a particular system but Java compiler produce code for a virtual machine. The translation is done in two steps. First the programs written in Java or the source code translated by Java compiler into byte code and after that the JVM converts the byte code into machine code for the computer one wants to run.

So the programs files written in Java are stored in .java files and the .java files are compiled by the Java compiler into byte code that are stored in .class file. The JVM later convert it into machine code. In fact the byte code format is same on all platforms as it runs in the same JVM and it is totally independent from the operating system and CPU architecture.

JVM is a part of Java Run Time Environment that is required by every operating system which requires a different JRE. JRE consists of a number of classes based on Java API and JVM, and without JRE, it is impossible to run Java. So its portability really made it possible in developing write once and run anywhere software.