Java Virtual Machine is software that converts the Java intermediate language into executable machine language.
A Java Virtual Machine provides an environment in which Java bytecode can be performed, allowing such features as automated exception handling, which supplies “root-cause” debugging information for every software error (exception), independent of the source code. A Java Virtual Machine is distributed along with a set of standard class libraries that execute the Java application-programming interface (API). Appropriate APIs packaged together create the Java Runtime Environment (JRE).
Java Virtual Machine is available for many hardware and software platforms. The use of the same bytecode for all Java Virtual Machines on all platforms allows Java to be described as a “write once, run anywhere” programming language, as opposed to “write once, compile anywhere”, which describes cross-platform compiled languages. Thus, the Java Virtual Machine is an important part of the Java platform.
Java bytecode is an intermediate language, which is generally compiled from Java, but it can also be compiled from other programming languages. For example, Java bytecode can compile Ad source code and executed it on a Java Virtual Machine.