(Computers) software that serves as interpreter between Java bytecode and a specific operating system (allows Java applications to run on any platform without changing the code)
A Java Virtual Machine (JVM) is a set of computer software programs and data structures which implements a specific virtual machine model. This model accepts a form of computer intermediate language, commonly referred to as Java bytecode, which conceptually represents the instruction set of a stack-oriented, capability architecture. This code is most often generated by Java languagecompilers, although the JVM can also be targeted by compilers of other languages. JVMs using the "Java" trademark may be developed by other companies as long as they adhere to the JVM specification published by Sun (and related contractual obligations).
See more at Wikipedia.org...
<language, architecture> (JVM) A specification for software which interprets Java programs that have been compiled into byte-codes, and usually stored in a ".class" file. The JVM instruction set is stack-oriented, with variable instruction length. Unlike some other instruction sets, the JVM's supports object-oriented programming directly by including instructions for object method invocation (similar to subroutine call in other instruction sets). The JVM itself is written in C and so can be ported to run on most platforms. It needs thread support and I/O (for dynamic class loading). The Java byte-code is independent of the platform. There are also some hardware implementations of the JVM. Specification. Sun's Java chip. [Documentation? Versions?] (2000-01-03)