Updates
Latest Tweet
What's New?
Check out for latest innovation, a computer based training video collection
Like this Page
Virtual Machine Design and Implementation C/C++ Review by Paul Nelson
Not good for learing the Java VM
I was very dissappointed that this book does not really cover anything more than basic topics that one could get (better and more thoroughly) from a standard computer textbook.
Examples: 1) no discussion of how garbage collection works and tradeoffs [just a list], 2) no discussion about alternatives for coding the main instruction execution loop, 3) no discussion of how to implement a VM that is object aware [the subjects in chapter 8 talk about how to simulate objects in HEC - not at all the same thing], 4) no practical discussion on how to implement threading, locking, simultaneous access, etc. 5) no discussion about how to implement a VM with exception handling [again, there is talk about simulating it with HEC - again, not the same thing].
The discussion of multitasking exemplifies my problems with this book. Here are some quotes: "The bottom line is that I really didn't feel like I had a good way to implement multitasking at the virtual machine level. ... The only decision that seemed to make sense was to abandon simulated multitasking and design the HEC virtual machine to execute as a single-threaded task."
And with that, multithreading is dispatched without any help to the serious VM implementor. Similar dissmissive comments can be found regarding GUI, garbage collection, and stack machines.
I'm sorry, but I do not consider "it was too hard, so I decided not to," to be a valid excuse for an author.
Basically, the book is a discussion of a toy project invented by the author: the HEC. Unfortunately, the HEC is strictly 1980's technology.
Under no circumstance should you purchase this book to learn Java or the Java VM more thoroughly.