The Java Virtual Machine

The Java Virtual Machine or Java interpreter is an essential piece of every Java installation, without this you cannot run any Java programs! Java programs are portable, but they rely on this interpreter and so will only run on platforms which have the interpreter installed. Sun has VM implementations for Windows 95/98 as well as its own Solaris operating system. Many other vendors such as Apple, various UNIX vendors and Linux have freely available ports of Sun's VM. Versions are also available even for hand-held devices that run Windows CE and PalmOS.

Interpreted programs generally do not have high performance, but despite this, the JVM performance is remarkably good and is improving all the time. A new technology called just-in-time (JIT) compilation enables Java byte code to be converted on-the-fly into native machine code, boosting execution speed enormously for code which is run repeatedly.

The Java Platform

All Java programs rely on these core APIs, predefined classes which are known as the Java platform. These are organized into related groups called packages. Different packages are defined by the Java platform for common functionalities such as input/output, networking, graphics, security etc.

Versions of Java

There have been four major releases so far:

  • Java 1.0

    This was the first public version of Java, containing 212 classes in 8 packages. A large number of installed Web browsers run this version, and so most people still use it for writing simple applets.

  • Java 1.1

    This release of Java contains 504 classes in 23 packages. Inner classes were introduced in this release, an important change to Java itself. The Java VM also included improved performance in this release.

  • Java 1.2

    Also known as Java 2, the number of classes was tripled to 1520 organized into 59 packages. So many new features were included that it was renamed to the Java 2 platform.

  • Java 1.3

    Minor corrections and updates to the Java platform, but no major changes. Also the inclusion of the high performance HotSpot VM.