The Java Virtual Machine


We can approach our study of the JVM like any other computer. First, there's the organization:

JVM Organization

The Java specification specifies three things:

Bytecodes (instruction set)

.class file format

Verification algorithm (to make sure Java programs don't do anything suspicious)

The actual specification can be found here:

JVM Specification


There are several assembly languages for the JVM. Most are similar to Jasmin.

Documentation and downloads for Jasmin are available at:

A Jasmin overview with demos are here:


A Project

To gain a good understanding of the JVM and Jasmin, read (or attempt) the JVM Project.