JVM
When we talk about JVM, it is important to first put it in its context of Java Runtime Environment (JRE). JRE consist of, among several things, JVM, libraries (with core Java classes), and some components (such as supporting files, Java Web Start, and the Java Plugin). It does not, however, include tools for performing tasks such as compiling and debugging. These are all part of the Java Development Kit (JDK) distribution.
JVM is the execution engine for all Java applications. It is responsible for platform security, memory management, and bytecode (compiled code) execution. With bytecode execution, JVM creates a foundation for platform independence.
The JVM specification (http://docs.oracle.com/javase/specs/jvms/se7/html/index.html) stipulates what an implementation should adhere to. As we focus on Java SE 7 based on the Oracle JDK 7 distribution in this book, we'll follow that trail by looking at its VM implementation named Hotspot.