JDK 26 G1/Parallel/Serial GC changes
The OpenJDK project is about to release JDK 26 in a few days. This is a good opportunity to add information about notable changes to the stop-the-world collectors in the Hotspot VM.
Thomas Schatzl, Oracle Java Hotspot GC 团队成员。在 Java GC 方面有丰富经验。
The OpenJDK project is about to release JDK 26 in a few days. This is a good opportunity to add information about notable changes to the stop-the-world collectors in the Hotspot VM.
JDK 25 RC 1 is out, and as is custom by now, here is a brief overview of the changes to the stop-the-world collectors in OpenJDK for that release.
JDK 24 has been released a few weeks ago. This post provides a brief overview of the changes to the stop-the-world collectors in OpenJDK in that release. Originally I thought there was not much to talk about, hence the delay, but in hindsight I have been wrong.
The Garbage First (G1) collector’s throughput sometimes trails that of other HotSpot VM collectors - by up to 20% (e.g. JDK-8253230 or JDK-8132937). The difference is caused by G1’s principle to be a garbage collector that balances latency and throughput and tries to meet a pause time goal. A large part of that can be attributed to the synchronization of the garbage collector with the application necessary for correct operation. With JDK-8340827 we substantially redesign how this synchronization works for much less impact on throughput. This post explains these fairly fundamental changes.
Given that JDK 23 is in rampdown phase 2 this post is going to present you the usual brief look on changes to the stop-the-world collectors in OpenJDK.
Another JDK release, another version of a post in this series: this time JDK 22 GA is almost here and so I am going to entertain you with latest changes for the stop-the-world garbage collectors for OpenJDK for that release. ;)
Recently I got questions about what Concurrent Undo Cycle messages in the logs mean - in this post I would like to explain this optimization and what it means for your application.
JDK 21 GA is on track - as well as this update for changes of the stop-the-world garbage collectors for OpenJDK for that release. ;)
Yet another JDK release that is on track - JDK 20 GA is almost here. Another opportunity to summarize changes and improvements in Hotspot´s stop-the-world garbage collectors for the JDK 20 release.
While writing the JDK 19 update blog post I strongly considered writing about the “new” (jdk.vm.internal.FillerObject and jdk.vm.internal.FillerArray) objects that may appear in heap dumps. I thought they were not that interesting, but it looks like people quickly noticed them. This post describes their purpose after all. Update 2024/07/22: The name of the latter class is [Ljdk/internal/vm/FillerElement; beginning with JDK 21.