BKJAVAVM.RVW 970509 "Java Virtual Machine", Jon Meyer/Troy Downing, 1997, 1-56592-194-1, U$32.95/C$46.95 %A Jon Meyer %A Troy Downing %C 103 Morris Street, Suite A, Sebastopol, CA 95472 %D 1997 %G 1-56592-194-1 %I O'Reilly & Associates, Inc. %O U$32.95/C$46.95 800-998-9938 707-829-0515 fax: 707-829-0104 nuts@ora.com %P 426 %T "Java Virtual Machine" Java is cross-platform. This means that Java programs will run on any computer--any computer, that is, which has a Java Virtual Machine (JVM). The JVM is like an interpreter, except that it "interprets" already compiled bytecode. The bytecode ensures that Java interpretation is very fast, since it resembles compiled object code. Java CPUs, in fact, will be able to run bytecode without the interpretation step. The JVM, therefore, is a virtual CPU, and, like any other central processing unit, it has a machine and assembly language. Meyer and Downing explain what is, essentially, Java assembly language, and even provide an assembler. Not only does this allow for the development of very tight, fast code where size or speed is of primary importance, but it also provides, for Java programmers, an understanding of the internals and underpinnings of the language. After an introduction, the book looks at components of the machine, classes, security (not quite as well as the authors think), implementation, data operations, arithmetic, flow control, exceptions, threads, class file reference, and the instructions. Appendices list the opcodes (bytecodes), themselves, a user guide for Jasmin (the assembler), and an overview of JAS, which aids with Java class file generation. copyright Robert M. Slade, 1997 BKJAVAVM.RVW 970509