The Java Virtual Machine Specification, Java SE 8 Edition

by ; ; ;
Edition: 1st
Format: Paperback
Pub. Date: 2014-05-07
Publisher(s): Addison-Wesley Professional
List Price: $59.99

Rent Book

Select for Price
There was a problem. Please try again later.

Rent Digital

Rent Digital Options
Online:1825 Days access
Downloadable:Lifetime Access
$69.59
$69.59

New Book

We're Sorry
Sold Out

Used Book

We're Sorry
Sold Out

How Marketplace Works:

  • This item is offered by an independent seller and not shipped from our warehouse
  • Item details like edition and cover design may differ from our description; see seller's comments before ordering.
  • Sellers much confirm and ship within two business days; otherwise, the order will be cancelled and refunded.
  • Marketplace purchases cannot be returned to eCampus.com. Contact the seller directly for inquiries; if no response within two days, contact customer service.
  • Additional shipping costs apply to Marketplace purchases. Review shipping costs at checkout.

Summary

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.

 

Author Biography

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

 

Chapter 1: Introduction

1.1 A Bit of History

1.2 The Java Virtual Machine

1.3 Organization of the Specification

1.4 Notation

1.5 Feedback

 

Chapter 2: The Structure of the Java Virtual Machine

2.1 The class File Format

2.2 Data Types

2.3 Primitive Types and Values

2.4 Reference Types and Values

2.5 Run-Time Data Areas

2.6 Frames

2.7 Representation of Objects

2.8 Floating-Point Arithmetic

2.9 Special Methods

2.10 Exceptions

2.11 Instruction Set Summary

2.12 Class Libraries

2.13 Public Design, Private Implementation

 

Chapter 3: Compiling for the Java Virtual Machine

 3.1 Format of Examples

3.2 Use of Constants, Local Variables, and Control Constructs

3.3 Arithmetic

3.4 Accessing the Run-Time Constant Pool

3.5 More Control Examples

3.6 Receiving Arguments

3.7 Invoking Methods

3.8 Working with Class Instances

3.9 Arrays

3.10 Compiling Switches

3.11 Operations on the Operand Stack

3.12 Throwing and Handling Exceptions

3.13 Compiling finally

3.14 Synchronization

3.15 Annotations

 

Chapter 4: The class File Format

4.1 The ClassFile Structure

4.2 The Internal Form of Names

4.3 Descriptors

4.4 The Constant Pool

4.5 Fields

4.6 Methods

4.7 Attributes

4.8 Format Checking

4.9 Constraints on Java Virtual Machine code

4.10 Verification of class  Files

4.11 Limitations of the Java Virtual Machine


Chapter 5: Loading, Linking, and Initializing

5.1 The Run-Time Constant Pool

5.2 Java Virtual Machine Startup

5.3 Creation and Loading

5.4 Linking

5.5 Initialization

5.6 Binding Native Method Implementations

5.7 Java Virtual Machine Exit

 

Chapter 6: The Java Virtual Machine Instruction Set

6.1 Assumptions: The Meaning of "Must"

6.2 Reserved Opcodes

6.3 Virtual Machine Errors

6.4 Format of Instruction Descriptions

 

Chapter 7: Opcode Mnemonics by Opcode

 

Index

 

Appendix A: Limited License Grant

An electronic version of this book is available through VitalSource.

This book is viewable on PC, Mac, iPhone, iPad, iPod Touch, and most smartphones.

By purchasing, you will be able to view this book online, as well as download it, for the chosen number of days.

Digital License

You are licensing a digital product for a set duration. Durations are set forth in the product description, with "Lifetime" typically meaning five (5) years of online access and permanent download to a supported device. All licenses are non-transferable.

More details can be found here.

A downloadable version of this book is available through the eCampus Reader or compatible Adobe readers.

Applications are available on iOS, Android, PC, Mac, and Windows Mobile platforms.

Please view the compatibility matrix prior to purchase.