Safepoint — и пусть весь мир подождёт

День 2 /  / Зал 4  /  RU /

Для выполнения некоторых операций (не только сборки мусора) JVM требуется полностью остановить потоки приложения. Зачем виртуальной машине нужны stop-the-world паузы? Как останавливается Java-программа и к каким побочным эффектам это приводит? Какие связанные с safepoint оптимизации делает HotSpot JVM? Как найти причину длинных остановок? О чём стоит помнить разработчикам, чтобы избежать нежелательных пауз?



Андрей Паньгин
Одноклассники

Ведущий программист в компании «Одноклассники», специализирующийся на разработке высоконагруженных Java-серверов. Благодаря опыту работы в Oracle в команде HotSpot, знает JVM как свои пять пальцев и охотно делится экспертизой на конференциях. Автор проектов one-nio, async-profiler, а также лидер по ответам в категории #JVM на Stack Overflow.