Перейти к содержимому
Максиметер

♻️ G1 за восемь версий JDK: что успели переделать

♻️ G1 за восемь версий JDK: что успели переделать G1, или Garbage-First, — сборщик мусора в JVM, который делит heap на регионы и старается удерживать паузы под контролем за счёт поэтапной очистки памяти. Для многих Java-приложений это уже привычный GC по умолчанию. Но за знакомым названием скрывается сборщик, который от JDK 17 до 25 успели заметно перекроить. Дмитрий Соломенников разобрал на Хабр, как менялся G1 и какие реальные проблемы эксплуатации стояли за этими изменениями. Как: — в JDK 17 улучшили работу с humongous objects, а в одном из сценариев Full GC стал проходить на 10–12% быстрее; — в JDK 18 переработали remembered set и сократили потребление памяти почти на 25%; — в JDK 20 переход на tri-color marking высвободил около 1,5% кучи; — в JDK 21 G1 научился перемещать humongous objects во время Full GC, чтобы бороться с фрагментацией; — в JDK 24–25 доработали настройку эвристик и сценарии, которые могли неожиданно растягивать паузы. Получилась полноценная биография G1: от устройства регионов и remembered set до оптимизаций, которые появились после лет эксплуатации в проде. 🔗 История G1 от JDK 17 до 25

59 просмотров

Канал в каталоге Максиметера

112 подписчиков · IT и технологии

Ещё по теме «IT и технологии»

Читать дальше

Два раза в неделю свежие посты этого канала — на почту и в личную ленту. Без повторного поиска канала вручную.