Published in 1996, Richard Jones’s Garbage Collection was a milestone in the area of automatic memory management. The field has grown considerably since then, sparking a need for an updated look at the latest state-of-the-art developments. The Garbage Collection Handbook: The Art of Automatic Memory Management brings together a wealth of knowledge gathered by automatic memory management researchers and developers over the past fifty years. The authors compare the most important approaches and state-of-the-art techniques in a single, accessible framework.

The book addresses new challenges to garbage collection made by recent advances in hardware and software. It explores the consequences of these changes for designers and implementers of high performance garbage collectors. Along with simple and traditional algorithms, the book covers parallel, incremental, concurrent, and real-time garbage collection. Algorithms and concepts are often described with pseudocode and illustrations.

The nearly universal adoption of garbage collection by modern programming languages makes a thorough understanding of this topic essential for any programmer. This authoritative handbook gives expert insight on how different collectors work as well as the various issues currently facing garbage collectors. Armed with this knowledge, programmers can confidently select and configure the many choices of garbage collectors.

Web Resource
The book’s online bibliographic database at www.gchandbook.org includes over 2,500 garbage collection-related publications. Continually updated, it contains abstracts for some entries and URLs or DOIs for most of the electronically available ones. The database can be searched online or downloaded as BibTeX, PostScript, or PDF.

This edition enhances the print version with copious clickable links to algorithms, figures, original papers and definitions of technical terms. In addition, each index entry links back to where it was mentioned in the text, and each entry in the bibliography includes links back to where it was cited.

chapter 1|16 pages


chapter 2|14 pages

Mark-sweep garbage collection

chapter 3|12 pages

Mark-compact garbage collection

chapter 4|14 pages

Copying garbage collection

chapter 5|19 pages

Reference counting

chapter 6|9 pages

Comparing garbage collectors

chapter 7|16 pages


chapter 8|8 pages

Partitioning the heap

chapter 9|25 pages

Generational garbage collection

chapter 10|23 pages

Other partitioned schemes

chapter 11|52 pages

Run-time interface

chapter 12|16 pages

Language-specific concerns

chapter 13|45 pages

Concurrency preliminaries

chapter 14|32 pages

Parallel garbage collection

chapter 15|16 pages

Concurrent garbage collection

chapter 16|14 pages

Concurrent mark-sweep

chapter 17|25 pages

Concurrent copying & compaction

chapter 18|12 pages

Concurrent reference counting

chapter 19|42 pages

Real-time garbage collection