http://www.webopedia.com/TERM/J/JVM.html
Acronym for Java Virtual Machine. An abstract computing machine, or virtual machine, JVM is a platform-independent execution environment that converts Java bytecode into machine language and executes it. Most programming languages compile source code directly into machine code that is designed to run on a specific microprocessor architecture or operating system, such as Windows or UNIX. A JVM -- a machine within a machine -- mimics a real Java processor, enabling Java bytecode to be executed as actions or operating system calls on any processor regardless of the operating system. For example, establishing a socket connection from a workstation to a remote machine involves an operating system call. Since different operating systems handle sockets in different ways, the JVM translates the programming code so that the two machines that may be on different platforms are able to connect.
JVMs are not the only virtual machines being used today.
A Java Virtual Machine (JVM), is a virtual machine that interprets and executes Java bytecode. This code is most often generated by Java language compilers, although the JVM can also be targeted by compilers of other languages. JVM's may be developed by other companies as long as they adhere to the JVM standard published by Sun.
The JVM is a crucial component of the Java Platform. The availability of JVMs on many types of hardware and software platforms enables Java to function both as middleware and a platform in its own right. Hence the expression "Write once, run anywhere."
Starting with J2SE 5.0, changes to the JVM specification have been developed under the Java Community Process as JSR 924[1]. As of 2006, changes to specification to support changes proposed to the class file format (JSR 202[2]) are being done as a maintenance release of JSR 924.
http://en.wikipedia.org/wiki/JVM