Optimize with a SATA RAID Storage Solution
Range of capacities as low as $1250 per TB. Ideal if you currently rely on servers/disks/JBODs
This table gives you a bird's-eye view of each book's main characteristics.
|The Java Virtual Machine Specification||Inside the Java Virtual Machine||Java Virtual Machine|
|Price (U.S. $)||39.95||39.95||32.95|
|475, 10 (0)||579, 20 (4)||426, 13 (4)|
|Listings Density (lines/page)||Not applicable||52||53|
|Java Native Interface (JNI)||No||Yes||No|
A bit of guidance for the table:
In the absence of tools to calculate the true cost-per-bit equivalent of a book, Listings Density gives you an idea of how dense or "aerated" the source listings are. Low lines/page values usually mean unreadable listings and a high page-fill factor, so the higher this value, the better. Because the Addison-Wesley book contains almost no code examples, this title has no "Listings Density" value.
Java Native Interface (JNI) indicates whether the book contains any discussion of the only important JVM-related change introduced with the 1.1 JDK -- that is, JNI.
The operative word in this book's title is, without a shadow of a doubt, "Specification." As a specification for all would-be JVM implementors to follow, this book is very formal, frustratingly stingy with concrete implementation tips or pointers, yet precise to the point of reading like legalese.
This is not a book to enjoy in bed, rather, it is "The Law," delineating how any third-party JVM is to behave if it even hopes to acquire the much-coveted "Java compatible" status.
The Java Virtual Machine Specification starts off by reviewing Java language concepts that are relevant to any discussion of the JVM. Then, in Chapter 3, "Structure of the Java Virtual Machine," it offers an accurate, detailed overview of all the components and processes that together make a compatible JVM implementation: These include type support and enforcement, runtime "data areas" (operand stacks, the heap, Java stack, method area, constant pools, native method stacks, and areas), class file format, and last, but not least, the JVM instruction set.
Chapter 4 is called "The Class File Format," and is devoted to Java's nearest equivalent to a conventional "executable" file format. This chapter describes the structure of class files from the macro level (methods, fields, constant pool, and so on) right down to the bit-level encoding of some fields' bitfields. Chapter 5, "Constant Pool Resolution," discusses one of the key architectural features behind Java's powerful late binding (for methods as well as fields).