We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
A New Age of JVM Garbage Collectors - Alexander Yakushev
Discover the latest advancements in JVM garbage collectors, including Shenandoah, G1, and ARC, as Alexander Yakushev discusses their benefits and challenges in improving throughput and reducing pauses.
- Shenandoah GC tries to slow down the application gradually, requiring tracking of allocation rate.
- Eden and survivor spaces are managed by evacuating GC, which packs objects efficiently.
- GC introduces pauses, which can be mitigated by concurrent marking and compaction.
- Shenandoah has two phases: concurrent marking and evacuation.
- ARC (Automatic Reference Counting) is a strategy to reduce noise in tracing GC.
- Shenandoah introduces fast allocations and reduces fragmentation.
- G1 GC is an example of a tracing GC, which tries to understand the object graph.
- Garbage collector should not start prematurely, as it can cause exceptions.
- Manual memory management can achieve lowest possible latency.
- Shenandoah still has some pauses, but they are consistent and predictable.
- Shenandoah’s concurrent marking phase is critical, as it allows for efficient allocation.
- ARC can introduce noise in tracing GC, while Shenandoah’s evacuation phase helps reduce noise.
- Shenandoah’s GC aims to minimize pauses while providing fast allocations and efficient compaction.
- ARC uses reference counts to track objects and reduce noise.
- Shenandoah’s GC is designed to handle large heaps and provide fast allocations.
- CPUs are not designed for memory access, whereas Shenandoah’s GC tries to minimize memory access.
- ARC can cause problems due to its use of manual memory management.
- Shenandoah’s GC is designed to improve throughput and reduce pauses.
- ARC can reduce noise in tracing GC, but may not always be effective.