A
Java virtual machine (
JVM) is an abstract computing machine that enables a computer to run a
Java program. There are three notions of the JVM: specification, implementation, and instance. The specification is a document that formally describes what is required of a JVM implementation. Having a single specification ensures all implementations are
interoperable. A JVM implementation is a computer program that meets the requirements of the JVM specification. An instance of a JVM is an implementation running in a
process that executes a computer program compiled into
Java bytecode.