We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Shenandoah

Formal Metadata

Title
Shenandoah
Subtitle
Why Do We Need Yet Another Garbage Collector
Title of Series
Number of Parts
611
Author
License
CC Attribution 2.0 Belgium:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language
Production Year2017

Content Metadata

Subject Area
Genre
Abstract
Garbage Collection (GC) liberates the programmer from having to call mallocand free. More importantly GC saves the programmer from having to debug theirmistakes when using malloc and free. Unfortunately the details of how GC worksare often a black box. This talk will start with a tour of all of the GCalgorithms currently available in OpenJDK. We'll discuss how they work, theirstrengths and weaknesses, and which class of applications they were developedfor. We'll work our way through serial gc, parallel gc, concurrent mark andsweep, and g1. We'll make the case for why we need all of them and just onemore GC algorithm, Shenandoah. Shenandoah is a parallel and concurrent GC algorithm designed for applicationswith 100gb+ heaps and tight pause time constraints. It's the first GCalgorithm targeting OpenJDK which compacts the live objects while the Javathreads are running. We'll describe the algorithm itself, the implementationdetails, and the optimizations needed to achieve good performance. We'llpresent performance numbers and give a demo that visualizes Shenandoah.