The Virtual Machine and Byte Code
I've only alluded to the virtual machine in this class.
You certainly don't have to know a great deal about the Java virtual machine
to write basic programs in Java, any more than you have to know X86
assembler to program Windows in C. Nonetheless, just as understanding
assembly code wil help you write more efficient C programs, understanding the
virtual machine will help you write better Java. Moreover it will answer many
questions I know some of you have about how and why Java works the way it does.
There are several good books about the Java virtual machine
including:
- The Java Virtual Machine
-
by Tim Lindholm, Frank Yellin, Bill Joy
and Kathy Walrath
If you're doing anything with the virtual machine, or if you just
want to know what's going on behind the scenes, then you need this
book.
- The Java Virtual Machine
-
by Troy Downing and
Jon Meyer
This book is a comprehensive programming guide for the Java Virtual
Machine (JVM). The book is divided into two sections: the first section
includes information on the semantics and structure of the JVM; the
second section is a reference of the JVM instructions, or "opcodes."
This book is intended to give readers a strong overview and reference of
the JVM so that they may create their own implementations of the JVM, or
write their own compilers that create Java object code. The programming
guide includes numerous examples written in Java assembly language. A
Java assembler is provided with the book, so the examples can all be
compiled and executed. The reference section is a complete description
of the instruction set of the VM and the class file format, including a
description of the byte-code verifier.
- Inside The Java Virtual Machine
-
by Bill Venners
- Publisher: Computing McGraw-Hill
- ISBN: 0079132480
- Price: $49.99
- Pages: 579
- Publication Date: 1997
- Order from amazon
Furthermore my own book, Java Secrets has substantial discussion of the virtual machine.
Previous | Next | Top
Last Modified April 22, 1999
Copyright 1997, 1999 Elliotte Rusty Harold
elharo@metalab.unc.edu