The JVM was originally designed as the ``cornerstone of the Java programming language'' [17, page 3]. The developers of Java wanted a virtual platform that would allow Java to be as portable as possible. With that goal in mind, they developed the JVM as a generalized, assembler-like instruction set for object oriented programming.
The JVM is a well defined specification for a virtual architecture. Each implementation of the JVM must adhere to this specification. This well defined specification is key to the success of the JVM--without it, incompatible JVM environments would be common. By contrast, with a clear specification available, incompatibilities in particular JVMs can easily be established as violations of the specification. A number of both proprietary software and Free Software JVM implementations that adhere to the specification now exist.
Copyright © 2000, 2001 Bradley M. Kuhn.
Verbatim copying and distribution of this entire thesis is permitted in any medium, provided this notice is preserved.