The Java Virtual Machine Specification, Java SE 8 Edition

The Java Virtual Machine Specification, Java SE 8 Edition

The Java Virtual Machine Specification, Java SE 8 Edition

The Java Virtual Machine Specification, Java SE 8 Edition

eBook

$43.49  $57.99 Save 25% Current price is $43.49, Original price is $57.99. You Save 25%.

Available on Compatible NOOK devices, the free NOOK App and in My Digital Library.
WANT A NOOK?  Explore Now

Related collections and offers


Overview

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.

 


Product Details

ISBN-13: 9780133922721
Publisher: Pearson Education
Publication date: 05/03/2014
Sold by: Barnes & Noble
Format: eBook
Pages: 600
File size: 30 MB
Note: This product may take a few minutes to download.
Age Range: 18 Years

About the Author

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.

 

Table of Contents

Preface to the Java SE 8 Edition         xv

 

Chapter 1: Introduction         1

1.1 A Bit of History  1

1.2 The Java Virtual Machine   2

1.3 Organization of the Specification   3

1.4 Notation   4

1.5 Feedback   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   50

3.7 Invoking Methods   51

3.8 Working with Class Instances   53

3.9 Arrays   55

3.10 Compiling Switches   57

3.11 Operations on the Operand Stack   59

3.12 Throwing and Handling Exceptions   60

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 74

4.3 Descriptors   75

4.4 The Constant Pool   78

4.5 Fields   90

4.6 Methods   92

4.7 Attributes   95

4.8 Format Checking   158

4.9 Constraints on Java Virtual Machine Code   159

4.10 Verification of class  Files   166

4.11 Limitations of the Java Virtual Machine   327

 

Chapter 5: Loading, Linking, and Initializing         329

5.1 The Run-Time Constant Pool   329

5.2 Java Virtual Machine Startup   332

5.3 Creation and Loading   332

5.4 Linking   339

5.5 Initialization   352

5.6 Binding Native Method Implementations   355

5.7 Java Virtual Machine Exit   355

 

Chapter 6: The Java Virtual Machine Instruction Set         357

6.1 Assumptions: The Meaning of "Must"   357

6.2 Reserved Opcodes   358

6.3 Virtual Machine Errors   358

6.4 Format of Instruction Descriptions   359

6.5 Instructions   362

 

Chapter 7: Opcode Mnemonics by Opcode         559

 

Index         563

 

Appendix A: Limited License Grant         581

 

From the B&N Reads Blog

Customer Reviews