Java(TM) Virtual Machine Specification, The (2nd Edition)
If you're writing a Java bytecode interpreter--or a compiler that generates binary files for such an interpreter--<I>The Java Virtual Machine Specification</I> has the information you need. It's the definitive document on Java compilers and runtime environments.<p> The first part of <I>The Java Virtual Machine Specification</I> discusses the relationships among Java program elements like objects, variables, data types, arrays, exceptions and threads, and compile and run time. Implementers of Java compilers and interpreters need to understand this stuff, but it also makes fascinating reading for Java programmers--it'll help with writing more efficient applications.<p> From there, the authors dig into the binary .class file format. They provide information on creating such a file as output from a Java compiler, and also give lots of data on how a Java interpreter should examine a .class file to verify its validity and trustworthiness. The authors explain how to carry out loading and linking operations on the objects a .class file defines. <p> The latter half of <I>The Java Virtual Machine Specification</I> is pure reference--it's a list of all Java opcodes, their purposes, formats, and accepted operands. There's also information about the exceptions each opcode can throw during compilation and execution.<p> Helpfully, the authors provide a peek at how Sun's Java compiler (javac) and Java interpreter (java) work, complete with source code. These examples promise to provide developers with hints as they implement their own compilers and runtime environments. <I>--David Wall</I> The nucleus of the Java programming language, the Java Virtual Machine is the technology responsible for Java's cross-platform delivery, the small size of its compiled code, and its security capabilities. <P>Written by its designers and implementors, this book represents the complete and definitive specification for the Java Virtual Machine. It is an essential reference for compiler writers and Java Virtual Machine implementors. For all Java programmers, the book offers a unique and fascinating internal view of how Java really works. <P>In this book, you will find comprehensive coverage of the Java Virtual Machine class file format and instruction set. In addition, directions for compiling for the Java Virtual Machine with numerous practical examples clarify how the Java Virtual Machine operates in practice. The book also demonstrates the Java Virtual Machine's powerful verification techniques. In all, the book provides sufficient detail to enable you to implement your own fully-compatible Java Virtual Machine.