Safepoint — let the whole world wait

Day 1 /  / Track 4  /  RU / Hardcore. Really hard and demanding talk, you'll understand only if you're an experienced engineer.

To perform some operations (not just garbage collection) the JVM needs to completely stop application threads. Why does a virtual machine need stop-the-world pauses? How does a Java program stop and what side effects does this lead to? What safepoint related optimizations does HotSpot JVM do? How to find the reason for long stops? What developers should remember to avoid pauses?

Program committee comment

A typical Pangin presentation — technical deep-dive, hardcore session with many references to real-world problems and ready to use performance hints.


Andrey Pangin

Principal Software Engineer at Odnoklassniki, specializes in the development of high-loaded Java servers. Due to the experience he got while working at Oracle in HotSpot team, knows JVM like the back of his hand and is fond of sharing his expertise during various conferences. Authors one-nio and async-profiler projects, leads in the #JVM category on Stack Overflow.

Invited Experts

Ivan Ugliansky

Worked for Excelsior in Excelsior JET project (Java SE certified implementation based on optimizing AOT compilation). Now works for Huawei on JVMs, compilers and new programming languages. Basically, works with runtime: GC, class loading, concurrency maintenance, profiling and so on.

Also, he is co-founder and co-lead of JUGNsk — an official Java Users Group in Novosibirsk and Program Committee member of SnowOne conference.

In his free time teaches C/C++ courses at Novosibirsk State University.