A fascinating jvm they missed is azul. They claim they can handle 300+GB heaps with pauses < 10 ms by radically changing how gc works. Skim this: <a href="http://www.artima.com/lejava/articles/azul_pauseless_gc.html" rel="nofollow">http://www.artima.com/lejava/articles/azul_pauseless_gc.html</a> Essentially it continually compacts the heap, but simply doesn't remap all pointers to an object. They then tool the OS vm system / TLB with memory barriers and fix up pointers on access instead of fixing up pointers on relocation/compaction.<p>Also, this is a pretty interesting talk about what exactly goes on in a modern jvm. Worth listening to
<a href="http://jeremymanson.blogspot.com/2011/04/cliff-click-in-jvm-does-what.html" rel="nofollow">http://jeremymanson.blogspot.com/2011/04/cliff-click-in-jvm-...</a> The speaker works for azul systems.<p>Regarding the article, I wonder if it's worthwhile or if there is any research into recycling objects or something like c++ placement new? I guess it doesn't really make sense because in java objects are mostly just a collection of pointers, whereas in C++ objects can themselves be fairly large.