Java's Virtual Machine, or JVM, takes the platform independent byte code instructions and executes them. The machine is primarily stack based, with no general purpose registers.

The JVM will often invoke a Just-In-Time compiler (JIT) to compile the byte code into native code.

There are various implementations of the Java Virtual Machine available, including the reference implementation from Sun, Microsoft's fast but subtly non-standard JVM, IBM's, plus a number of open-source implementations such as Kaffe and Japhar.