Finally Java 23 is out - the first release where Generational ZGC is the default mode of ZGC!
I have worked a lot on automatic heap sizing for ZGC lately (cf. openjdk.org/jeps/8329758). If you find this interesting, I will talk about it at JVMLS this year. See you there!
This article says explicitly that Oracle does not support production use of Generational ZGC yet. I would like to clarify that this is false. Generational ZGC is supported for production use since JDK 21. It is not an experimental feature.
"In fact, we’ve found for our services and architecture that there is no such trade off. For a given CPU utilization target, ZGC improves both average and P99 latencies with equal or better CPU utilization when compared to G1." writes Netflix' Danny Thomas: netflixtechblog.com/bending-paus...
The surprising and not so surprising benefits of generations in the Z Garbage Collector.
I ran in to Danny Thomas from Netflix at JVMLS last year. Told him they should try Generational ZGC. They did, and it performed very well. Now they have changed default GC to Generational ZGC at Netflix, and Danny wrote a blog post about their experience: netflixtechblog.com/bending-paus...
I try to remove a lot of unnecessary complicated code before adding a lot of complicated code. I think of it as limiting myself to a “complexity budget”. Now I’m at the point of the cycle where it’s time to add complicated code.
Finally, ICStubs are a distant memory that I will try to suppress. github.com/openjdk/jdk/...