🖥 JDK 27 меняет сразу два runtime-дефолта, которые могут повлиять на поведение сервиса даже без правок в коде
1. Compact Object Headers теперь включены по умолчанию. На типичной 64-битной HotSpot-конфигурации заголовок объекта уменьшается с 12 до 8 байт.
2. G1 теперь GC по умолчанию вообще везде, в том числе в небольших контейнерах и однопроцессорных средах, где раньше JVM могла выбрать Serial GC.
С компактными заголовками выигрыш особенно заметен там, где в heap много мелких объектов: в одном из замеров SPECjbb2015 расход памяти снизился на 22%, а CPU — на 8%. С G1 нюанс другой: на небольших конфигурациях могут сократиться паузы, нагрузка на CPU и потребление памяти.
Поэтому переход на JDK 27 лучше проверять не одним общим бенчмарком. Снимите базовые метрики на текущей версии, а затем отдельно сравните новые дефолты: Compact Object Headers можно временно отключить, а GC — выбрать явно. Так будет понятно, что именно изменило профиль приложения.
🔷 Источник
Post #723
222

- ❤ 2
- 👍 2