Java Garbage Collection (GC) is an integral part of application behavior on Java platforms – yet it is often misunderstood. Developers need to understand how Java garbage collection works. They need to recognize how actions they can take in selecting and tuning collector mechanisms impact runtime performance, scalability and reliability.
For a review and classification of the various garbage collectors and collection techniques available in JVMs today, download this white paper. It defines terms and metrics common to all collectors, including the generational, parallel, ‘stop-the-world’, incremental, concurrent and mostly concurrent collection techniques.
In addition to the various garbage collection techniques the paper also addresses the trade-offs involved in balancing requirements for responsiveness, throughput, space and available memory across varying scale levels. It also includes a review of the pitfalls, common misconceptions, and ‘myths’ around garbage collection behavior, as well as examples of how certain choices can result in impressive application behavior.
Choosing a Garbage Collector
This table summarizes the types of popular commercially available garbage collectors
For another resource on how Java garbage collection works and the differences between collection algorithms, watch this video from Azul CTO Gil Tene.