The core of Java(TM) technology, the Java virtual machine is an abstract computing machine that enables the Java(TM) platform to host applications on any computer or operating system without rewriting or recompiling. Anyone interested in designing a language or writing a compiler for the Java virtual machine must have an in-depth understanding of its binary class format and instruction set. If you are programming with the Java programming language, knowledge of the Java virtual machine will give you valuable insight into the Java platform's security capabilities and cross-platform portability. It will increase your understanding of the Java programming language, enabling you to improve the security and performance of your programs.
The author employs a tutorial approach that provides a detailed look into the central workings of the technology and teaches the reader how to write real programs for the Java virtual machine. He describes methods to becoming a better programmer through an advanced understanding of the Java virtual machine and Java technology. Programming for the Java Virtual Machine offers comprehensive coverage of all the major elements of the Java virtual machine-classes and objects, control instructions, debugging, class loaders, compiling the Java programming language, performance issues, security, and threads and synchronization. The book provides an introduction to the Java(TM) Virtual Machine Specification (JVMS), with a collection of topics that help programmers understand the Java virtual machine and the JVMS better. In addition, the book features implementations of Prolog and Scheme, a language that runs on top of the Java virtual machine, generating Java virtual machine code as it runs and using a Java virtual machine class loader to load the generated code into the system.
You will find detailed information on such topics as:
* The Java virtual machine verification algorithm * How Java virtual machine security works, and what it can and can't do * Using class loaders to incorporate code and dynamically generated code from the Internet, the Java(TM) Foundation Classes, database queries, and other languages * The mechanics of compiling the Java programming language for the Java virtual machine * Implementing other languages using the Java virtual machine, including Scheme, Prolog, Sather, Eiffel, and regular expressions
Numerous examples illustrate techniques and concepts, and exercises with solutions help you gain practical experience.