Introduction 1. A Bit of History 1. The Java Virtual Machine 1. Summary of Chapters 1. Notation 2.
|Published (Last):||13 August 2009|
|PDF File Size:||9.80 Mb|
|ePub File Size:||5.59 Mb|
|Price:||Free* [*Free Regsitration Required]|
See the latest about a temporary release delay on new titles. Learn more. View Larger Image. Register your product to gain access to bonus material or receive a coupon. The nucleus of the Java TM 2 platform, the Java TM virtual machine is the technology that enables the Java 2 platform to host applications on any computer or operating system without rewriting or recompiling. The Java virtual machine is also responsible for the compactness of applications targeting the Java 2 platform, and is the basis for its security capabilities.
This book was written by those directly responsible for the design and implementation of the Java virtual machine, and is the complete and definitive specification for the technology. It is an essential reference for writers of compilers for the Java programming language and implementors of the Java virtual machine. This second edition specifies the newest version of the Java virtual machine and provides a fascinating view into the inner workings of the Java 2 platform.
In this book you will find comprehensive coverage of the class file format, the hardware, operating system, and implementation-independent binary format for compiled code. The authors fully describe the instruction set of the Java virtual machine. You will find an entire chapter of examples that demonstrate how to compile code written in the Java programming language into the instruction set of the Java virtual machine.
In addition, the book presents a discussion on the vital topic of Java virtual machine threads and their interaction with memory. All in all, this comprehensive, detailed, and methodical presentation provides the information necessary to implement your own fully compatible Java virtual machine. The Java TM virtual machine specification has been written to fully document the design of the Java virtual machine. It is essential for compiler writers who wish to target the Java virtual machine and for programmers who want to implement a compatible Java virtual machine.
It is also a definitive source for anyone who wants to know exactly how the Java programming language is implemented. The Java virtual machine is an abstract machine. References to the Java virtual machine throughout this specification refer to this abstract machine rather than to Sun's or any other specific implementation. This book serves as documentation for a concrete implementation of the Java virtual machine only as a blueprint documents a house.
An implementation of the Java virtual machine known as a runtime interpreter must embody this specification, but is constrained by it only where absolutely necessary. We intend that this specification should sufficiently document the Java virtual machine to make possible compatible clean-room implementations.
Send comments on this specification or questions about implementing the Java virtual machine to our electronic mail address: jvm java. The virtual machine that evolved into the Java virtual machine was originally designed by James Gosling in to support the Oak programming language.
The evolution into its present form occurred through the direct and indirect efforts of many people and spanned Sun's Green project, FirstPerson, Inc. The authors are grateful to the many contributors and supporters. This book began as internal project documentation. Kathy Walrath edited that early draft, helping to give the world its first look at the internals of the Java programming language.
The many criticisms and suggestions received from reviewers of early online drafts, as well as drafts of the printed book, improved its quality immensely. We owe special thanks to Richard Tuck for his careful review of the manuscript and to the authors of The Java TM Language Specification, Addison-Wesley, , for allowing us to quote extensively from that book. Particular thanks to Bill Joy whose comments, reviews, and guidance have contributed greatly to the completeness and accuracy of this book.
It also includes many corrections and clarifications that update the presentation of the specification without changing the logical specification itself. We have attempted to correct typos and errata hopefully without introducing new ones and to add more detail to the specification where it was vague or ambiguous. We thank the many readers who combed through the first edition of this book and brought problems to our attention. Several individuals and groups deserve special thanks for pointing out problems or contributing directly to the new material:.
Get unlimited day access to over 30, books about UX design, leadership, project management, teams, agile development, analytics, core programming, and so much more.
Add To My Wish List. Part of the Java Series series. Book Sorry, this book is no longer in print. Not for Sale. Sample Content Table of Contents Preface. A Bit of History. The Java Virtual Machine. Summary of Chapters. Java Programming Language Concepts. Types and Values. Primitive Types and Values.
Operators on Integral Values. Operators on Floating-Point Values. Operators on boolean Values. Reference Types, Objects, and Reference Values. The Class Object. The Class String. Operators on Objects. Initial Values of Variables. Conversions and Promotions. Identity Conversions. Widening Primitive Conversions.
Narrowing Primitive Conversions. Widening Reference Conversions. Narrowing Reference Conversions. Value Set Conversion. Assignment Conversion. Method Invocation Conversion. Casting Conversion. Numeric Promotion. Names and Packages. Package Members. The Members of a Class Type. The Members of an Interface Type.
The Members of an Array Type. Qualified Names and Access Control. Fully Qualified Names. Class Names. Class Modifiers. Superclasses and Subclasses. The Class Members.
Field Modifiers. Initialization of Fields. Formal Parameters. Method Signature. Method Modifiers. Static Initializers. Constructor Modifiers. Interface Modifiers.
Interface Members. Interface Constant Fields. Interface Abstract Methods. Overriding, Inheritance, and Overloading in Interfaces. Nested Classes and Interfaces. Array Types. Array Variables.
Array Creation. Array Access. The Causes of Exceptions. Handling an Exception. The Exception Hierarchy. The Classes Exception and RuntimeException. Virtual Machine Start-up.
Java¿ Virtual Machine Specification, The, 2nd Edition
The java virtual machine specification (2nd edition)