Presentation: (Really) Understanding Garbage Collection
Abstract
The more things change, the more they stay the same. It's 2019, and while while Garbage Collection in Java has come a long way since inception, the fundamentals have not changed. In this session, Gil Tene (CTO, Azul Systems) will review and classify the various garbage collectors and collection techniques available in JVMs today. Following a quick overview of common garbage collection techniques including generational, parallel, stop-the-world, incremental, concurrent and mostly-concurrent algorithms, we will define terms and metrics common to all collectors. We will classify each major JVM collector's mechanisms and characteristics and discuss the tradeoffs involved in balancing requirements for responsiveness, throughput, space, and available memory across varying scale levels. We will conclude with some pitfalls, common misconceptions, and "myths" around garbage collection behavior, as well as examples of how some good choices can result in impressive application behavior.
Similar Talks
Understand the Trade-Offs Using Compilers for Java Applications
Eclipse OpenJ9 and OMR Project Lead @IBM
Mark Stoodley
JIT vs AOT Performance With GraalVM
Developer Advocate for GraalVM @Oracle
Alina Yurenko
Parsing JSON Really Quickly: Lessons Learned
Professor and Department Chair @TELUQ - Université du Québec
Daniel Lemire
Fault Tolerance at Speed
Ex-NASA Researcher and High Performance Distributed Systems Whisperer
Todd Montgomery
Does Java Need Inline Types? What Project Valhalla Can Bring to Java
Java Performance Engineer @Oracle
Sergey Kuksenko
High Resolution Performance Telemetry at Scale
Software Developer @Twitter
Brian Martin
Java 8 LTS to the Latest - a Performance & Responsiveness Prospective
Java Champion, First Lego League Coach, passionate about JVM Performance @Microsoft