Java Virtual Machine

A Java virtual machine (JVM) is a virtual machine that can execute Java bytecode. It is the code execution component of the Java platform.
  • Java source files (.java) are compiled to Java bytecode (.class)
  • Bytecode is interpreted on the target platform within a Java Virtual Machine

The Java VM does more than interpret byte code:
  • The class loader loads appropriate java classes.  Possibly from the network.
  • All classes are verified to contain only legal byte codes and not permitted any illegal stack or register usage.
  • A Security Manager can limit access to resources such as the local file system or the network.
  • Any unreferenced memory (Objects) are returned to the system by the Garbage Collector thread.

Many database servers, application servers, web servers and browsers contain a Java virtual machine.
eg: Oracle, Tomcat (web server), WebSphere (app server), BEA Weblogic (app server), and Netscape and IE.