The performance engineer’s guide to OpenJDK HotSpot Garbage Collection
In this presentation, JAX London speaker Monica Beckwith talks about GC Performance Engineering while providing GC facts and examples. She also discusses various OpenJDK HotSpot GC algorithms and provides advice on this topic.
Before we proceed, you should know that Monica will be talking about Garbage First (G1) Garbage Collector (GC) at this year’s JAX London. G1 GC is going to be the default in Java 9; it has incremental compaction and your friendly-neighborhood stop-the-world collections. G1 also has a concurrent marking phase.
Last month, we talked with Monica about her favorite improvements in Java 9, Project Jigsaw and the biggest misconceptions about the upcoming release.
JAXenter: What’s the difference in the performance of contended locks between JDK 8 and 9?
Monica Beckwith: If you are looking for pure numbers, then the impact varies based on the amount of contention. The simplest way to think of it is that prior to JDK 9, all inflated locks (the ones that wouldn’t get optimized away) would take a slow path. The contended lock optimization introduced in JDK 9 introduces a few fast path optimizations for frequent code paths. So, you would find things like optimized notify path that would transfer threads in the wait queue directly to the entry queue and optimized entry for inflated locks.
JAXenter: What is the most important misconception about Java 9? How about Jigsaw?
Monica Beckwith: The number one misconception is that Java 9 is a Jigsaw release. Nope. It’s not true: Java 9 is much bigger than that. Actually, I am currently writing a book on Java 9. There’s so much in this new release, like its performance, the logging interface, the new microbenchmarking harness that’s now a part of the JDK, the fact that the default collector in Java 9 is G1 GC, reactive programming, JShell, VarHandles, segmented code cache, so many things…
The number one misconception about Jigsaw is that it will break everything :)
JAXenter: What would you like to see in Java 10?
Monica Beckwith: I am most excited about Project Valhalla and the enhancements that it will bring to the Java VM.
Read the entire interview here.
Monica Beckwith is an independent performance consultant and trainer optimizing customer applications and systems running the Java Virtual Machine. She has worked with Java HotSpot VM optimizing the JIT Compiler, the generated code, the JVM heuristics and garbage collection and collectors.
Monica is a regular speaker at various conferences and has several published articles on topics including garbage collection, the Java memory model and others. Monica led Oracle’s Garbage First Garbage Collector performance team, and was named a JavaOne Rock Star. She also co-authored the ‘Java Performance Companion’ book. Monica was recently considered one of the influential women in Java and Scala.
Monica will be delivering two talks at JAX London: