ABSTRACT

There are a couple of core data structures for a Java virtual machine (JVM) implementation, such as object, class, and virtual function table. 3.1 OBJECT AND CLASS JVM language (i.e., the bytecode instruction set) has two kinds of data types: primitive types and reference types. A  variable of primitive types holds a direct value, such as a number, a Boolean, or a return address. Primitive types sometimes are also referred to as value types in some other languages. A variable of reference types holds a pointer to an object. Every object is an instance of a reference type such as a class or an array. In the rest of the book, we use term “class” to include both classes, array and interface, unless stated otherwise. Note there is no instance of any interface, but instance whose class implements an interface. e relation is shown in Figure 3.1.