A Java Virtual Machine is quite simply a piece of software that enables Java technology to be recognized and successfully executed on a vast array of hardware platforms. Java virtual machines are so named because they provide a necessary environment for the Java bytecode to be executed. The flexibility of a JVM allows a Java applet to be written only once, but able to be run on virtually any operating system.

Java virtual machines accept standardized binary format code. Java compilers translate this code into the necessary format needed before it is run on a JVM. This organized approach ensures the portability and stability of Java to be implemented on such a wide array of hardware devices.

Java applets run in a user’s web browser and provide functionality that cannot be performed by HTML, such as games, calculators, and chat applications. In order to run a Java applet, a Java plug-in must be installed and the JVM must be running. Java applets are considered very safe to run, even if they are unknown or untested, since they are essentially isolated from the rest of the computer’s functionality. This isolation technique is often referred to as the sandbox.

There is no shortage of support for Java and Java virtual machines. Large corporations such as Apple, IBM, and Hewlett-Packard develop closed-source (proprietary, thus not made public) Java virtual machine implementations. There is also a large amount of interest and support from the open-source development community for developing Java virtual machines. Open source simply means that the source code is available to anyone for free to further develop and improve upon.

Though Java is typically enabled by default on popular browsers such as Internet Explorer, due to the malicious intent of hackers and unscrupulous web marketers, some web surfers feel safer by disabling Java. This can eliminate some of the very annoying pop-under advertisements that exploit the Java permissions that are typically left to default settings. Java can typically be accomplished in the browser’s preferences menu.

Sun distributes the JVM as part of the JRE and also as part of the J2EE, J2SE, and J2ME.