To get the free app, enter your mobile phone number.
Inside the Java 2 Virtual Machine Paperback – January 6, 2000
The Amazon Book Review
Author interviews, book reviews, editors picks, and more. Read it now
Customers who bought this item also bought
What other items do customers buy after viewing this item?
For the advanced Java developer, Inside the Java 2 Virtual Machine offers a detailed guide to the inner workings of today's Java Virtual Machines (JVMs), plus a complete reference to all bytecodes (the "machine code" for the language). For those who want to understand how Java really works, this book definitely delivers the goods, with excellent technical detail and demos of JVMs in action on the companion CD-ROM.
This title provides a remarkably detailed tour of the internals of the Java platform, with plenty of technical information on the way virtual machines do business under the hood, from the way language statements are turned into bytecodes to in-depth coverage of loading and invoking classes, security, and garbage collection. The author demonstrates superior knowledge of Sun's Java Virtual Machine specification and explains the principles of its design and implementation, including a full explanation of how actual bytecodes are run on a VM. (Surprisingly, variables in Java are always processed on the stack, since there are no general CPU registers available, a very different architecture than most CPUs.) Each chapter includes applets that showcase Java in action (for example, adding two numbers or demonstrating garbage collection).
The later part of this text covers over 200 Java bytecodes (mnemonic instructions for the JVM) by groups, and the book closes with a full listing of these opcodes (with over 150 pages of material). In all, Inside the Java 2 Virtual Machine serves as both a tutorial and reference to the architecture and inner operation of JVMs for any technically astute reader who wants to understand how Java really works. --Richard Dragan
Topics covered: Java Virtual Machine (JVM) class architecture, the Java class loader, tips for platform independence, Java security, verifying class files, code-signing, network mobility, Jini basics, the organization of Java .class files, Java object lifetimes, the linking model, garbage collection basics and algorithms, stack operations, type conversions, integer and floating-point arithmetic, objects and arrays, control flow, exceptions and finally clauses, method invocation, thread synchronization, Java opcode and quickcode reference, and JVM simulation demos.
"In-depth discussions of various implementation techniques, such as interpreting, just-in-time compiling, and adaptive optimization and much more..." -- Robert Hurd, Code Collection web site, codecollection.com. March 2000
Top customer reviews
Finally, in chapter ten the author starts describing the bytecode instructions, but many details are glossed over, left out, or just plain wrong. For example, there's almost no description of how the bytecode verifier checks stack operations, and the description of the multianewarray bytecode when the number of dimensions in the bytecode does not match the number of dimensions of the type of the array is completely wrong. If the author had included a bytecode assembler, such as Jasmin, and had provided exercises, these weaknesses would have become readily apparent.
If you're a Java programmer and just want a basic overview of what goes on behind the scenes to allow your Java program to load and run, this book may be adequate. But if you intend on writing a compiler or a JVM, or writing code in bytecode assembly, or just learning what really goes on behind the scenes, I'd recommend one of the other books on the JVM.