Designer | Sun Microsystems |
---|---|
Bits | 32-bit |
Introduced | 1994 |
Version | 20.0.1[1] |
Type | Stack and register–register |
Encoding | Variable |
Branching | Compare and branch |
Endianness | Big |
Open | Yes |
Registers | |
General-purpose | Per-method operand stack (up to 65535 operands) plus per-method local variables (up to 65535) |
A Java virtual machine (JVM) is a virtual machine that enables a computer to run Java programs as well as programs written in other languages that are also compiled to Java bytecode. The JVM is detailed by a specification that formally describes what is required in a JVM implementation. Having a specification ensures interoperability of Java programs across different implementations so that program authors using the Java Development Kit (JDK) need not worry about idiosyncrasies of the underlying hardware platform.
The JVM reference implementation is developed by the OpenJDK project as open source code and includes a JIT compiler called HotSpot. The commercially supported Java releases available from Oracle are based on the OpenJDK runtime. Eclipse OpenJ9 is another open source JVM for OpenJDK.