Could anyone advice a book (or any other source) that would thoroughly reveal internals of JVM memory management & garbage collection (optimization, work, circular references, pecularities, discussions for various JVM impls...)?
[What I've found so far are separate articles devoted to various aspects but no weighty tome :). Some good materials for Hotspot implementation are here. ]
Thanks a lot for any advice you give.
HotSpot:
Virtual Machine Garbage Collection Tuning
The Garbage-First Garbage Collector (G1)
HotSpot Garbage Collection
IBM Metronome:
Overview (with informative links on the left sidebar)
I would suggest to go through the Java Virtual Machine specification.Following is the URL for the same :
http://java.sun.com/docs/books/jvms/second_edition/html/VMSpecTOC.doc.html
This gives you a good generic details about the java virtual machine.
Also, take a look at this: http://dave-robinson.net/tuning/jvm_details.html
If you look for a vendor-independent resource revealing and thoroughly describing all the various GC algorithms ever researched/designed, I recommend:
This is highly vendor dependent and not necessarily shared.
HotSpot is open source and demonstrates directly how it is done. Jikes RVM is a JVM written in Java which might be easier to dive into. JamVM is a tiny JVM written in C which - due to its size - might also be easier to dive into.