You are previewing The Java® Virtual Machine Specification, Java SE 8 Edition.
O'Reilly logo
The Java® Virtual Machine Specification, Java SE 8 Edition

Book Description

Written by the inventors of the technology, The Java® Virtual Machine Specification, Java SE 8 Edition is the definitive technical reference for the Java Virtual Machine.

The book provides complete, accurate, and detailed coverage of the Java Virtual Machine. It fully describes the new features added in Java SE 8, including the invocation of default methods and the class file extensions for type annotations and method parameters. The book also clarifies the interpretation of class file attributes and the rules of bytecode verification.

Table of Contents

  1. About This eBook
  2. Title Page
  3. Copyright Page
  4. Dedication Page
  5. Table of Contents
  6. Preface to the Java SE 8 Edition
  7. Chapter 1. Introduction
    1. 1.1 A Bit of History
    2. 1.2 The Java Virtual Machine
    3. 1.3 Organization of the Specification
    4. 1.4 Notation
    5. 1.5 Feedback
  8. Chapter 2. The Structure of the Java Virtual Machine
    1. 2.1 The class File Format
    2. 2.2 Data Types
    3. 2.3 Primitive Types and Values
    4. 2.4 Reference Types and Values
    5. 2.5 Run-Time Data Areas
    6. 2.6 Frames
    7. 2.7 Representation of Objects
    8. 2.8 Floating-Point Arithmetic
    9. 2.9 Special Methods
    10. 2.10 Exceptions
    11. 2.11 Instruction Set Summary
    12. 2.12 Class Libraries
    13. 2.13 Public Design, Private Implementation
  9. Chapter 3. Compiling for the Java Virtual Machine
    1. 3.1 Format of Examples
    2. 3.2 Use of Constants, Local Variables, and Control Constructs
    3. 3.3 Arithmetic
    4. 3.4 Accessing the Run-Time Constant Pool
    5. 3.5 More Control Examples
    6. 3.6 Receiving Arguments
    7. 3.7 Invoking Methods
    8. 3.8 Working with Class Instances
    9. 3.9 Arrays
    10. 3.10 Compiling Switches
    11. 3.11 Operations on the Operand Stack
    12. 3.12 Throwing and Handling Exceptions
    13. 3.13 Compiling finally
    14. 3.14 Synchronization
    15. 3.15 Annotations
  10. Chapter 4. The class File Format
    1. 4.1 The ClassFile Structure
    2. 4.2 The Internal Form of Names
    3. 4.3 Descriptors
    4. 4.4 The Constant Pool
    5. 4.5 Fields
    6. 4.6 Methods
    7. 4.7 Attributes
    8. 4.8 Format Checking
    9. 4.9 Constraints on Java Virtual Machine Code
    10. 4.10 Verification of class Files
    11. 4.11 Limitations of the Java Virtual Machine
  11. Chapter 5. Loading, Linking, and Initializing
    1. 5.1 The Run-Time Constant Pool
    2. 5.2 Java Virtual Machine Startup
    3. 5.3 Creation and Loading
    4. 5.4 Linking
    5. 5.5 Initialization
    6. 5.6 Binding Native Method Implementations
    7. 5.7 Java Virtual Machine Exit
  12. Chapter 6. The Java Virtual Machine Instruction Set
    1. 6.1 Assumptions: The Meaning of “Must”
    2. 6.2 Reserved Opcodes
    3. 6.3 Virtual Machine Errors
    4. 6.4 Format of Instruction Descriptions
    5. 6.5 Instructions
  13. Chapter 7. Opcode Mnemonics by Opcode
  14. Index
  15. Appendix A. Limited License Grant