Many articles describe how a poorly tuned garbage collector can bring an application's SLA commitments to its knees. Oracle's new G1 Collector in HotSpot moves away from the conventional GC model, where a Java heap splits into (contiguous) young and old generations, and instead introduces the concept of “regions”, for a generally more performant and manageable GC.
CMS, G1, Young Gen, New Gen, Old Gen, Eden, and the hundreds of JVM start-up flags... does this all baffle you when trying to tune the garbage collector to get the required throughput and latency from your Java application? Don’t worry, you are not alone. This article will attempt to explain the tradeoffs when choosing and tuning garbage collection algorithms for a particular workload.
InfoQ examines how Azul's collector works, and explores some techniques you can use to test the impact of garbage collection in your applications.