Katana VentraIP

Java virtual machine

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.

Designer

1994

20.0.1[1]

Variable

Compare and branch

Yes

Per-method operand stack (up to 65535 operands) plus per-method local variables (up to 65535)

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.

Branches are always to valid locations

Data is always initialized and references are always type-safe

Access to private or package private data and methods is rigidly controlled

Common Language Runtime

List of Java virtual machines

List of JVM languages

Comparison of Java virtual machines

Comparison of application virtualization software

Automated exception handling

Java performance

Java processor

(KVM)

K virtual machine