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[change | change source]
- 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[change | change source]
- The Java Virtual Machine Specification
- Java implementations at the Open Directory Project
- A decade after Java arrived, there have been improvements in the runtime performance of platform-independent virtual-machine based software. Archived 2009-03-02 at the Wayback Machine
- Sun to build virtual machine for iPhone - ComputerWorld Archived 2008-05-08 at the Wayback Machine