contents

home

overview

specification

motivation

detail

document

others

Table of Contents

  1. Introduction
  2. Java Concepts
    1. Unicode
    2. Identifiers
    3. Literals
    4. Type and Values
      1. Primitive Types and Values
      2. Operators on Interger Values
      3. Operators on Floating-Point Values
      4. Operators on boolean Values
      5. Reference Types, Object, and REference Values
      6. The Class Object
      7. The Class String
      8. Operators on Objects
    5. Variables
      1. Initial Values of Variables
      2. Variables Have Types, Objects Have Classes
    6. Conversions and Promotions
    7. NAmes and Packages
    8. Classes
    9. Fields
    10. Methods
    11. Static Initializers
    12. Constructors
    13. Interfaces
    14. Arrays
    15. Exceptions
    16. Execution
    17. Threads
  3. Structure of Java Virtual Machine
    1. Data Types
      1. Primitive Types and Values
      2. Integral Types and Values
      3. Floating-Point and Values
      4. The returnAddress Type and Values
      5. There Is No boolean Type
    2. Reference Types and Values
    3. Words
    4. Runtime Data Areas
      1. The pc Register
      2. Java Stack
      3. Heap
      4. Method Area
      5. Constant Pool
      6. Native Method Stacks
    5. Frames
      1. Local Variables
      2. Operand Stacks
      3. Dynamic Linking
      4. Normal Method Completion
      5. Abnormal Method Completion
      6. Additional Information
    6. Representation of Objects
    7. Special Initialization Methods
    8. Exceptions
    9. The class File Format
    10. Instruction Set Summary
    11. Public Design, Private Implementation
  4. The class File Format
    1. ClassFile
    2. Internal Form of Fully Qualified Class Names
    3. Descriptors
      1. Grammar Notation
      2. Field Descriptors
      3. Method Descriptors
    4. Constant Pool
      1. CONSTANT_Class
      2. CONSTANT_Fieldref, CONSTANT_Methodref, and CONSTANT_InterfaceMethodref
      3. CONSTANT_String
      4. CONSTANT_Integer and CONSTANT_Float
      5. CONSTANT_NameAndType
      6. CONSTANT_Utf8
    5. Feilds
    6. Methods
    7. Attributes
      1. Defining and Naming New Attributes
      2. SourceFile Attributes
      3. ConstantValue Attributes
      4. Code Attributes
      5. Exceptions Attributes
      6. LineNumberTable Attributes
      7. LocalVariableTable Attributes
    8. Constraints on Java Virtual Machine Code
    9. Verification of class Files
    10. Limitations of the Java Virtual Machine and class File Format
  5. Constant Pool Resolution
    1. Class and Interface Resolution
      1. Current Class or Interface Not Loaded by a Class Loader
      2. Current Class of Interface Loaded by a Class Loader
      3. Array Classes
    2. Field and Method Resolution
    3. Interfaces Method Resolution
    4. String Resolution
    5. Reslution of Other Constatant Pool Items
  6. Java Virtual Machine Instruction Set
    1. Assumptions: The Meaning of "Must"
    2. Reserved Opcodes
    3. Virtual Machine Errors
    4. The Java Virtual Machine Instruction Set
  7. Compiling for the Java Virtual Machine
  8. Threads and Locks
  9. An Optimization
  10. Opcode Mnemonics by Opcode