Hello all....
Can Anyone help to study about JVM from (software) Architecture,Design
pattern view point....?
How to use SA and Design pattern to implement JVM. or Can anyone give
Abstract view of JVM (plz dont give redundant information specified in
vm spec...)
Or how to Reverse engineer JVM.../
My aim to study jvm and pattern used in jvm....
Regards
Raxit
Did you look at the source for any of the open source JVMs yet? They are
very educational. You may not want to look at the SUN sources if you
don't want to be tainted, but there are many good open source JVMs worth
looking at. My favorites: JAMvm, Kaffe and Wonka, but there are others.
Also, waba is fun. Its simple and not vary java compliant (class file
wise) but its small and easy to grasp. You will also want to look at GNU
Classpath.
As far as online information, start with the best, Check out:
http://www.cs.tut.fi/~taivalsa/kurssit/VMDesign2003.html
These are notes for a VM design seminar given by the guy who wrote the
KVM. Very good stuff.
There are 100's of papers available online on all sorts of topics like
memory allocation, garbage collection, class file compression, etc. Give
google a spin. Looking for just pdf files seems to get good results.
google on "virtual machine filetype:pdf"
Also, some good books:
This is just out. Its a good textbook on Virtual Macines (not just JVMs)
"Virtual Machines: Versatile Platforms for Systems and Processes" by Jim
Smith, Ravi Nair
These others will be helpfull as you learn more.
This is a good one to get you started on the JVM. "Inside The Java
Virtual Machine" by Bill Venners
"Virtual Machine Design and Implementation in C/C++" by Bill Blunden
"Memory Management : Algorithms and Implementations In C/C++" by Bill
Blunden
"Garbage Collection : Algorithms for Automatic Dynamic Memory
Management" by Richard Jones, Rafael Lins
"Small Memory Software: Patterns for Systems with Limited Memory" by
James Noble, Charles Weir, Duane Bibby

Signature
dan
This sounds a little like you are working on a college research
project?
There are many design patterns in the JVM. If you study an open source
JVM (maybe kaffe) you can see them in action.