|Contents | Prev | Next | Index||The JavaTM Virtual Machine Specification|
To learn the latest about the Java Platform and Environment, or to download the latest Java release, visit our World Wide Web site at
http://java.sun.com. For updated information about the Java Series, including sample code, errata, and previews of forthcoming books, visit
We would like to thank the Corporate and Professional Publishing Group at Addison-Wesley for their partnership in putting together the Series. Our editor Mike Hendrickson and his team have done a superb job of navigating us through the world of publishing. Within Sun, the support of James Gosling, Ruth Hennigar, Jon Kannegaard, and Bill Joy ensured that this series would have the resources it needed to be successful. In addition to the tremendous effort by individual authors, many members of the JavaSoft team have contributed behind the scenes to bring the highest level of quality and engineering to the books in the Series. A personal note of thanks to my children Christopher and James for putting a positive spin on the many trips to my office during the development of the Series.
The Java Virtual Machine is an abstract design. This book serves as documentation for a concrete implementation of Java (including Sun's) only as a blueprint documents a house. Any implementation of Java must embody this specification of the Java Virtual Machine, but is constrained by it only where absolutely necessary.
This book describes Version 1.0.2 of the Java Virtual Machine, which is compatible with Version 1.0.2 of the Java programming language, as specified in The Java Language Specification (Addison-Wesley, 1996). Future versions of the Java Virtual Machine will be backward compatible with this specification.
We intend that this specification should sufficiently document the Java Virtual Machine to make possible compatible clean-room implementations. Sun provides tests which verify the proper operation of implementations of the Java Virtual Machine. If you are considering constructing your own implementation, please contact us at the email address below to obtain assistance to ensure the 100% compatibility of your implementation.
Send comments on this specification or questions about implementing the Java Virtual Machine to our electronic mail address:
The original Java Virtual Machine was designed by James Gosling in 1992. It evolved to its present form through the direct and indirect efforts of many people, spanning Sun's Green Project, FirstPerson, Inc., the LiveOak project, Java Products Group, and JavaSoft. The authors are grateful to the many contributors.
This book began as internal project documentation. Kathy Walrath edited this early work, helping to give the world its first look at the internals of Java. It was then converted to HTML by Mary Campione and was made available on our Web site before being expanded into book form.
The present document owes much to the support of the group led by General Manager Ruth Hennigar and to the efforts of series editor Lisa Friendly and Mike Hendrickson of Addison-Wesley. The many criticisms and suggestions received from reviewers of early online drafts, as well as drafts of the 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 Language Specification 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.
Hoare, C.A.R. Hints on Programming Language Design. Stanford University Computer Science Department Technical Report No CS-73-403, December 1973. Reprinted in Sigact/Sigplan Symposium on Principles of Programming Languages. Association for Computing Machinery, New York, October 1973.
The Unicode Standard: Worldwide Character Encoding, Version 1.0, Volume 1, ISBN 0-201-56788-1, and Volume 2, ISBN 0-201-60845-6. Additional information about Unicode 1.1 may be found at
Contents | Prev | Next | Index
Java Virtual Machine Specification
Copyright © 1996, 1997 Sun Microsystems, Inc. All rights reserved
Please send any comments or corrections to firstname.lastname@example.org