Want to Write Better Java Programs? Look Under the Hood and See What Makes the Ingenious Java Engine Run!
This in-depth guide to Java's architecture and internals is your key to writing more effective and efficient Java code. By understanding the Java Virtual Machine (JVM),you will gain insights into the inner workings of Java technology that will help you harness the full range of Java's capabilities in your programs.
In addition,this comprehensive volume explains the architecture of the JVM,including the interaction of the Java stack,the heap,the method area,and the execution engine. It includes in-depth discussions of various implementation techniques,such as interpreting,just-in-time compiling,and adaptive optimization. It also describes the behavior of Java threads and the Java monitor.
It also covers garbage collection,including reference objects,the train algorithm,and object finalization. Finally the intricacies of the Java security model are discussed,including type safety,the class loader architecture,class verifier,security manager,access controller,and code signing.
With this guide,you'll understand Java's linking model dynamic extension,and you'll learn how to write class loaders. You'll also uncover the seven steps to writing a platform independent Java program.
About the Author
Bill Venners has been writing software professionally for 14 years. Based in Silicon Valley, he provides software consulting and training services through Artima Software Company. Since 1996, he has written over 40 articles about Java technology. His popular columns in JavaWorld magazine have covered Java internals, object-oriented design techniques, and Jini technology. He is also the author and webmaster of artima.com, an online resource for Java and Jini developers. He teaches in-house and public Java training seminars and frequently speaks on technology at software conferences around the world.
Table of ContentsPreface.
Introduction to Java;s ARchitecture.
The Java Virtual Machine.
The Java Class File.
The Lifetime of a Class.
The Linking Model.
Stack and Local Variable Operations.
Objects and Arrays.
Method Invocation and Return.
Instruction Set by Opcode Mnemonic.
Another goal I had in mind as I wrote this book was to experiment a bit with the changing nature of text. Web pages have three interesting characteristics that differentiate them from paper-based text: they are dynamic (can evolve over time), they are interactive (especially if you embed Java applets in them), and they are interconnected (you can easily navigate from one to another). Besides the traditional text and figures, this book includes several Java applets (in a mini-Web site on the CD-ROM) that serve as interactive illustrations of the concepts presented in the text. In addition, I maintain a Web site at art ima. com on the Internet that serves as a launching point for readers to find more (and more current) information about the topics covered in the book. This book is composed of all of these components: text, figures, interactive illustra. tions, and constantly evolving links tofurther reading.