Brussels / 3 & 4 February 2024


Inner Workings of Safepoints

A Java thread in the JVM regularly checks whether it should do extra work besides the execution of the bytecode. This work is done during so-called safepoints. There are two types of safepoints: local and global. This allows the JVM to do activities like method deoptimizations or stop-the-world garbage collections, where the amount of concurrency should be limited. But how do they actually work?

This talk covers the implementation of global and local safepoints in the OpenJDK


Photo of Johannes Bechberger Johannes Bechberger