
The Java Virtual Machine Specification, Java SE 7 Edition
Addison Wesley (Publisher)
Published on 28. February 2013
Book
Paperback/Softback
608 pages
978-0-13-326044-1 (ISBN)
Article exhausted; check for reprint
Description
Written by the inventors of the technology, The Java (R) Virtual Machine Specification, Java SE 7 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 invokedynamic instruction and method handle mechanism added in Java SE 7, and gives the formal Prolog specification of the type-checking verifier introduced in Java SE 6. The book also includes the class file extensions for generics and annotations defined in Java SE 5.0, and aligns the instruction set and initialization rules with the Java Memory Model.
The book provides complete, accurate, and detailed coverage of the Java Virtual Machine. It fully describes the invokedynamic instruction and method handle mechanism added in Java SE 7, and gives the formal Prolog specification of the type-checking verifier introduced in Java SE 6. The book also includes the class file extensions for generics and annotations defined in Java SE 5.0, and aligns the instruction set and initialization rules with the Java Memory Model.
More details
Language
English
Place of publication
New Jersey
United States
Publishing group
Pearson Education (US)
Target group
Professional and scholarly
Dimensions
Height: 230 mm
Width: 176 mm
Thickness: 34 mm
Weight
920 gr
ISBN-13
978-0-13-326044-1 (9780133260441)
Schweitzer Classification
Other editions
New editions

Tim Lindholm | Frank Yellin | Gilad Bracha
The Java Virtual Machine Specification, Java SE 8 Edition
Book
05/2014
Addison Wesley
€55.07
Article exhausted; check different version
Additional editions

Tim Lindholm | Frank Yellin | Gilad Bracha
Java Virtual Machine Specification, Java SE 7 Edition, The
E-Book
02/2013
1st Edition
Pearson
€56.49
Available for download
Previous edition

Tim Lindholm | Frank Yellin
The Java? Virtual Machine Specification
Book
05/1999
2nd Edition
Addison Wesley
€38.37
Article exhausted; check for reprint
Persons
Tim Lindholm 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, he 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.
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.
Content
Preface to the Java SE 7 Edition xiii Preface to the Second Edition xv
Preface to the First Edition xvii
Chapter 1: Introduction 1
1.1 A Bit of History 1
1.2 The Java Virtual Machine 2
1.3 Summary of Chapters 3
1.4 Notation 4
Chapter 2: The Structure of the Java Virtual Machine 5
2.1 The class File Format 5
2.2 Data Types 6
2.3 Primitive Types and Values 6
2.4 Reference Types and Values 11
2.5 Run-Time Data Areas 11
2.6 Frames 15
2.7 Representation of Objects 19
2.8 Floating-Point Arithmetic 19
2.9 Special Methods 22
2.10 Exceptions 23
2.11 Instruction Set Summary 25
2.12 Class Libraries 37
2.13 Public Design, Private Implementation 37
Chapter 3: Compiling for the Java Virtual Machine 39
3.1 Format of Examples 39
3.2 Use of Constants, Local Variables, and Control Constructs 40
3.3 Arithmetic 45
3.4 Accessing the Run-Time Constant Pool 46
3.5 More Control Examples 47
3.6 Receiving Arguments 49
3.7 Invoking Methods 50
3.8 Working with Class Instances 53
3.9 Arrays 55
3.10 Compiling Switches 57
3.11 Operations on the Operand Stack 58
3.12 Throwing and Handling Exceptions 59
3.13 Compiling finally 63
3.14 Synchronization 66
3.15 Annotations 67
Chapter 4: The class File Format 69
4.1 The ClassFile Structure 70
4.2 The Internal Form of Names 75
4.3 Descriptors and Signatures 76
4.4 The Constant Pool 82
4.5 Fields 95
4.6 Methods 97
4.7 Attributes 100
4.8 Format Checking 140
4.9 Constraints on Java Virtual Machine code 140
4.10 Verification of class Files 148
4.11 Limitations of the Java Virtual Machine 334
Chapter 5: Loading, Linking, and Initializing 337
5.1 The Run-Time Constant Pool 337
5.2 Java Virtual Machine Startup 340
5.3 Creation and Loading 340
5.4 Linking 347
5.5 Initialization 359
5.6 Binding Native Method Implementations 362
5.7 Java Virtual Machine Exit 362
Chapter 6: The Java Virtual Machine Instruction Set 363
6.1 Assumptions: The Meaning of "Must" 363
6.2 Reserved Opcodes 364
6.3 Virtual Machine Errors 364
6.4 Format of Instruction Descriptions 365
6.5 Instructions 368
Chapter 7: Opcode Mnemonics by Opcode 565
Index 569
Appendix A: Limited License Grant 587
Preface to the First Edition xvii
Chapter 1: Introduction 1
1.1 A Bit of History 1
1.2 The Java Virtual Machine 2
1.3 Summary of Chapters 3
1.4 Notation 4
Chapter 2: The Structure of the Java Virtual Machine 5
2.1 The class File Format 5
2.2 Data Types 6
2.3 Primitive Types and Values 6
2.4 Reference Types and Values 11
2.5 Run-Time Data Areas 11
2.6 Frames 15
2.7 Representation of Objects 19
2.8 Floating-Point Arithmetic 19
2.9 Special Methods 22
2.10 Exceptions 23
2.11 Instruction Set Summary 25
2.12 Class Libraries 37
2.13 Public Design, Private Implementation 37
Chapter 3: Compiling for the Java Virtual Machine 39
3.1 Format of Examples 39
3.2 Use of Constants, Local Variables, and Control Constructs 40
3.3 Arithmetic 45
3.4 Accessing the Run-Time Constant Pool 46
3.5 More Control Examples 47
3.6 Receiving Arguments 49
3.7 Invoking Methods 50
3.8 Working with Class Instances 53
3.9 Arrays 55
3.10 Compiling Switches 57
3.11 Operations on the Operand Stack 58
3.12 Throwing and Handling Exceptions 59
3.13 Compiling finally 63
3.14 Synchronization 66
3.15 Annotations 67
Chapter 4: The class File Format 69
4.1 The ClassFile Structure 70
4.2 The Internal Form of Names 75
4.3 Descriptors and Signatures 76
4.4 The Constant Pool 82
4.5 Fields 95
4.6 Methods 97
4.7 Attributes 100
4.8 Format Checking 140
4.9 Constraints on Java Virtual Machine code 140
4.10 Verification of class Files 148
4.11 Limitations of the Java Virtual Machine 334
Chapter 5: Loading, Linking, and Initializing 337
5.1 The Run-Time Constant Pool 337
5.2 Java Virtual Machine Startup 340
5.3 Creation and Loading 340
5.4 Linking 347
5.5 Initialization 359
5.6 Binding Native Method Implementations 362
5.7 Java Virtual Machine Exit 362
Chapter 6: The Java Virtual Machine Instruction Set 363
6.1 Assumptions: The Meaning of "Must" 363
6.2 Reserved Opcodes 364
6.3 Virtual Machine Errors 364
6.4 Format of Instruction Descriptions 365
6.5 Instructions 368
Chapter 7: Opcode Mnemonics by Opcode 565
Index 569
Appendix A: Limited License Grant 587