next up previous contents
Next: Frames Up: Internals of the Previous: Reference Types

Runtime Data Areas

This section describes the various runtime data areas of the JVM. These data areas are:

  1. pc register; each thread has its own program counter register which contains the the address of the JVM instruction currently being executed and is one word wide.

  2. stack; each thread has its own stack which stores JVM frames and is equivalent to the stack of a conventional programming language such as C. The frames are described in section 2.3.

  3. heap; shared among all threads from which memory for all class instances and arrays is allocated and garbage collected.

  4. method area; shared among all threads and is analogous to the storage area for compiled code of a conventional language. It stores per class structures such as the constant pool and the code for methods and constructors.

  5. constant pool; a per-class or per-interface runtime representation of the constant_pool[] table in a Java class file which has a similar function as a symbol table of a conventional programming language.

  6. native method stacks; which may be used to support methods written in languages other than Java.



mark@bottom.xs4all.nl