Gain an in-depth understanding of the Java SE 7 JVM spec: sophisticated technical knowledge for implementing Java SE 7 bytecode interpreters or Java compilers, and optimizing Java program performance and efficiency. Authored by original members of the team that created the Java Virtual Machine at Sun, and fully updated by Oracle Java SE 7 spec lead Alex Buckley, The Java Virtual Machine Specification, Java SE 7 Editionoffers an exceptionally thorough look at the Java platform's inner workings. Developers will find in-depth discussions of the JVM instruction set, with detailed examples showing how to compile Java code to it. Buckley and his colleagues illuminate the vital topic of Java virtual machine threads and their interaction with memory; and thoroughly discuss how interactions amongst program elements such as objects, variables, data types, arrays, exceptions and threads impact compile and run time. The authors explain the JVM's binary .class format, showing how Java interpreters should verify .class files'validity and trustworthiness, and carry out loading and linking operations on the objects they define. Part II offers a comprehensive reference to all Java opcodes: their purposes, formats, accepted operands, and the exceptions they can throw during compilation and execution.
is a former Distinguished Engineer at Sun Microsystems. He was a contributor to the Java programming language and the Senior Architect of the Java Virtual Machine, later working on Java for mobile devices. Prior to Sun, Lindholm worked on virtual machines and runtime systems for Prolog at Argonne National Laboratory and Quintus. He holds a B.A. in Mathematics from Carleton College.
Frank Yellin is a former Staff Engineer at Sun Microsystems. He was an original member of the Java project and spent a decade working on runtime systems for interpreted and compiled languages. Prior to Sun, he worked on the compilation of Common Lisp at Lucid. He holds an A.B. in Applied Mathematics from Harvard and an M.S. in Computer Science from Stanford.
Gilad Bracha is the creator of the Newspeak programming language and a former Distinguished Engineer at Sun Microsystems. Prior to Sun, he worked on Strongtalk, the Animorphic Smalltalk System. He holds a Ph.D. in Computer Science from the University of Utah.
Alex Buckley is the Specification Lead for the Java programming language and the Java Virtual Machine at Oracle. He holds a Ph.D. in Computing from Imperial College London.
1. History and Introduction
2. Overview of Java Virtual Machine Architecture
3. Compilation of Java Code
4. Class File Format
5. JVM Start-Up and Loading, Linking, and Initialization of Classes and Interfaces
6. JVM Instruction Set
7. Table of Java Virtual Machine Opcode Mnemonics