

How Garbage Collection differs in the three big JVMs - kumarshantanu
http://blog.dynatrace.com/2011/05/11/how-garbage-collection-differs-in-the-three-big-jvms/

======
deadc0de
This describes the state of GC like it was 10 years ago (and in a few places
incorrectly), at least in Hotspot. Shameless promotion: try out the new G1
(-XX:+UseG1GC), better to use the latest EA JDK7 build.

~~~
smanek
Is there a better document that explains how the GC works in the latest Java 6
releases (particularly Hotspot)?

I'm doing some GC tuning these days - and there seems to be a lot of
false/stale information out there. Something this readable, but accurate,
would be helpful.

~~~
jonburs
[http://www.oracle.com/technetwork/java/javase/gc-
tuning-6-14...](http://www.oracle.com/technetwork/java/javase/gc-
tuning-6-140523.html) is the canonical source.

------
earl
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:
<http://www.artima.com/lejava/articles/azul_pauseless_gc.html> 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.

Also, this is a pretty interesting talk about what exactly goes on in a modern
jvm. Worth listening to [http://jeremymanson.blogspot.com/2011/04/cliff-click-
in-jvm-...](http://jeremymanson.blogspot.com/2011/04/cliff-click-in-jvm-does-
what.html) The speaker works for azul systems.

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.

