Дмитрий Силин — Точки соприкосновения: Java & GC
Подробнее о Java-конференциях: — весной — JPoint: https://jrg.su/gTrwHx
— осенью — Joker: https://jrg.su/h7yvG4
— — Скачать презентацию с сайта JPoint — https://jrg.su/Xx3MKZ
Разбираемся, как вместе уживаются Java-приложение и garbage collector (GC). Какие механизмы позволяют организовать Stop-the-World (STW) режим. Что такое safepoint и checkpoint. Какие потоки останавливаются, а какие могут продолжить работу. Как GC находит объекты, и как поток приложения обнаруживает изменения, сделанные сборщиком мусора. Далее переходим к базовому механизму concurrent режима — барьерам. Что это такое, какие бывают. Как они попадают в код — рассматриваем на примере интерпретатора. Разбираем 2 примера барьеров — read и pre-write, на которых построен concurrent marking в реальных сборщиках мусора. Изучаем опыт разработчиков JVM по оптимизации барьеров — colored pointers, self-healing. Сравниваем STW и concurrent подходы.