🎊 Java 27 вышла: G1 везде, объекты компактнее, TLS смотрит в постквантовое будущее
Внутри — девять JEP
G1 теперь выбирается по умолчанию даже в окружениях с одним CPU или небольшим объёмом памяти. Compact Object Headers сжимают заголовок объекта с 96 до 64 бит на 64-битном HotSpot; в SPECjbb2015 это дало до 22% экономии heap. TLS 1.3 получил гибридный постквантовый обмен ключами, а JFR теперь редактирует типичные секреты ещё до записи диагностических данных.
Не только рантайм
Lazy Constants откладывают вычисление до первого обращения, выполняют его не больше одного раза и безопасно работают при конкурентном доступе. Structured Concurrency вышла в седьмое preview, а примитивные типы в pattern matching, instanceof и switch — в пятое.
Но релиз не из серии «поставил и забыл». В небольших окружениях стоит проверить переход с Serial GC на G1; Compact Object Headers при проблемах можно отключить флагом -XX:-UseCompactObjectHeaders; а вручную ограниченный список TLS named groups не даст включиться гибридному обмену. Перед обновлением стоит проверить контейнерные лимиты, JVM-флаги и TLS-настройки.
И главное: Java 27 — не LTS. Четыре JEP остаются в preview, а Vector API — в incubator. Поэтому релиз скорее подходит для проверки совместимости и новых API, чем на роль новой опорной production-ветки.
🔷 Если хочется пройтись по каждому JEP с примерами, флагами и тем, что проверить при обновлении, у нас вышел подробный разбор Java 27 на Хабре. А ранний обзор девяти JEP — найдете Блоге Axiom JDK.
Post #716
332

- 👍 5
- 🔥 3
- ⚡ 1