Java virtual machine

A Java virtual machine (JVM) is a set of computer software programs and data structures which use a virtual machine model for the execution of other computer programs and scripts.  The model used by a JVM accepts a form of computer intermediate language commonly referred to as Java bytecode. 

Java virtual machines operate on Java bytecode, which is normally (but not necessarily) generated from Java source code; a JVM can also be used to implement programming languages other than Java. 

The JVM is an important component of the Java Platform. Because JVMs are available for many hardware and software platforms, Java can be both middleware and a platform in its own right – hence the expression "write once, run anywhere." The use of the same bytecode for all platforms allows Java to be described as "compile once, run anywhere", as opposed to "write once, compile anywhere", which describes cross-platform compiled languages. 

 References 

 Clarifications and Amendments to the Java Virtual Machine Specification, Second Edition includes list of changes to be made to support J2SE 5.0 and JSR 45
 JSR 45 – Specifies changes to the class file format to support source-level debugging of languages such as JSP and SQLJ that are translated to Java

 Other websites
 The Java Virtual Machine Specification

 A decade after Java arrived, there have been improvements in the runtime performance of platform-independent virtual-machine based software. 
 Sun to build virtual machine for iPhone - ComputerWorld 

Category:Java (programming language)