Interactive Illustrations for Inside the 
Java 2 Virtual Machine

Welcome to Interactive Illustrations, a web companion to the book Inside the Java 2 Virtual Machine by Bill Venners. These web pages contain Java applets that interactively illustrate the concepts presented in the text of the book.

The Book
Inside the Java 2 Virtual Machine describes the Java virtual machine, the abstract computer on which all Java programs run, and several core Java APIs that are intimately related to the virtual machine. Through a combination of tutorial explanations, working examples, reference material, and applets that interactively illustrate the concepts presented in the text, this book provides an in-depth, technical survey of Java's architecture and internals.

The Applets
Links to the Java applets that serve as interactive illustrations to Inside the Java 2 Virtual Machine are given here:

  • Eternal Math -- A simulation of a Java virtual machine executing a few bytecodes that perform some basic mathematical operations.
  • Getting Loaded -- A simulation of a Java virtual machine loading a class file.
  • Heap of Fish -- A simulation of a garbage-collected heap.
  • Fibonacci Forever -- A simulation of a Java virtual machine executing a sequence of bytecodes that generate the Fibonacci series.
  • Conversion Diversion -- A simulation of a Java virtual machine executing a sequence of bytecodes that perform type conversion.
  • Inner Int -- An applet that demonstrates two's-complement integers.
  • Prime Time -- A simulation of a Java virtual machine executing a sequence of bytecodes that generates prime numbers.
  • Logical Results -- A simulation of a Java virtual machine executing a sequence of bytecodes that demonstrates logic operations.
  • Inner Float -- An applet that demonstrates IEEE 754 floating point numbers.
  • Circle of Squares -- A simulation of a Java virtual machine executing a sequence of bytecodes that performs floating point arithmetic.
  • Three Dimensional Array -- A simulation of a Java virtual machine executing a sequence of bytecodes that allocates and initializes a three-dimensional array.
  • Saying Tomato -- A simulation of a Java virtual machine executing a sequence of bytecodes that performs table jumps.
  • Play Ball! -- A simulation of a Java virtual machine executing a sequence of bytecodes that throws and catches an exception.
  • Hop Around -- A simulation of a Java virtual machine executing a sequence of bytecodes that uses finally clauses.
  • Slices of Pi -- A simulation of a Java virtual machine executing a sequence of bytecodes that calculates pi.

Click here to view a page of links to the source code of these applets.

The Internet
Here are several links to related sites on the World Wide Web:

  • The Resources Page -- For links to more information about the material presented in Inside the Java 2 Virtual Machine, check out The Resources Page.
  • McGraw-Hill -- Inside the Java 2 Virtual Machine is published by McGraw-Hill, ISBN 0-07-135093-4.
  • JavaWorld -- Portions of the Interactive Illustrations were derived from articles written by Bill Venners and first published in the column "Under The Hood" in JavaWorld, a division of Web Publishing, Inc., June 1996 through October 1997.
  • artima.com -- Bill Venners is the author and webmaster of artima.com, a resource for Java and Jini developers. You can reach him at bv@artima.com.

Copyright © 1996-1999 Bill Venners. All Rights Reserved.