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.