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. ... An instance of a JVM is an implementation running in a process that executes a computer program compiled into Java bytecode.
When Java Code is compiled a byte code(class file) is generated which is independent of the system. This byte code is fed to the JVM (Java Virtual Machine) which resides in the system. ... The byte code generated by the compiler can be interpreted by any JVM of any machine. Hence it is called Platform independent Language.