TGViewer
Spring АйО Spring АйО @spring_aio · 10.9K subscribers
Post #682 6.56K
🧠 JEP 519: Компактные заголовки объектов — теперь официально!

Java 25 анонсирует ещё одну немаловажную фичу: компактные заголовки объектов (Compact Object Headers). Это позволит JVM экономить память и ускоряться без вмешательства в код.

Что это такое?
У каждого объекта в Java есть заголовок — служебные данные, которые JVM использует для синхронизации, GC и т.д. Обычно заголовок занимает 96 бит (12 байт) на 64-битных платформах.

С JEP 450 в Java 24 появится экспериментальная опция сжать заголовки до 64 бит (8 байт). JEP 519 делает это стабильной, проверенной фичей, которую можно безопасно включать прямо в проде.

Зачем?
– Минус 22% памяти в SPECjbb2015
– Минус 8% CPU в среднем
– Минус 15% сборок мусора в G1 и Parallel GC
– +10% скорость парсинга JSON

Для распределённых систем, высоконагруженных сервисов и микросервисов — это простой способ сэкономить ресурсы без переписывания кода.

Как включить?
В Java 25 больше не понадобится флаг


-XX:+UnlockExperimentalVMOptions


Теперь достаточно:

java -XX:+UseCompactObjectHeaders ...


Пруфы?
– Протестировано в проде на сотнях сервисов Amazon.
– Прогнано по полному тест-сьюту JDK в Oracle.
– Отдельные компании уже бэкпортят фичу на JDK 21 и 17.

Что важно знать?
– По умолчанию выключено.
– Не влияет на функциональность приложения.
– Может потребовать внимания в будущем, если другие фичи потребуют больше битов в заголовке (но для этого есть решения в рамках проектов Valhalla и Lilliput).

Обсудим в комментариях? 👇
  • 👍 38
  • 🔥 18
  • ❤ 11
More from @spring_aio
  1. Oct 6, 2026👩‍💻 Spring Config Import без магии У наших друзей из Axelix вышла статья о том, как Spri…
  2. Oct 5, 2026🥲 В Java 27 TLS научился переживать квантовую атаку При установке HTTPS-соединения клиент…
  3. Oct 3, 2026⚡️⚡️Строки кода стремятся подешеветь до цены токена. Что остается ценным? Про это — трек «…
  4. Oct 2, 2026🙅‍♂️ Не каждый AI-вызов должен генерировать текст Иногда от модели нужен не красивый отве…
  5. Oct 1, 2026JEP 544: JVM будет сохранять машинный код между запусками JEP 544 (Ahead-of-Time Code Comp…
  6. Sep 30, 2026🍃 Переписываем всё на Rust, JavaScript — кошмар, AI против Vaadin | Spring АйО Подкаст №7…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →