В JDK 25 завезли одну из самых “жирных” оптимизаций за долгое время - Compact Object Headers (JEP 519).
Что меняется:
- размер заголовка объекта уменьшается примерно с ~12 байт до 8 байт
- меньше памяти на каждый объект = меньше heap
- меньше heap = меньше давления на GC
- меньше GC = быстрее сервис + дешевле облако
Где профит максимальный:
Spring Boot, микросервисы, DTO, records, кэши - всё где очень много мелких объектов.
Включается одной опцией:
-XX:+UseCompactObjectHeadersПо отзывам в реальных системах:
15–30% снижения heap - обычная история.
Просто протестируй на своих сервисах - и забирай бесплатную экономию.
