15 сентября Oracle выпустила JDK 27. В новой версии — девять JEP с изменениями в JVM, библиотеках и средствах диагностики. Часть из них заработает сразу после обновления, другие пока доступны для предварительного использования.

Что изменилось в JVM

Теперь HotSpot выбирает G1 во всех окружениях, если сборщик мусора не задан явно. Раньше в некоторых конфигурациях JVM автоматически использовала Serial GC. Возможность самостоятельно выбрать сборщик сохраняется: меняется именно поведение по умолчанию. При этом цель разработчиков — избежать существенного ухудшения пропускной способности, потребления памяти и времени запуска там, где прежде выбирался Serial. Изменение описано в JEP 523.

Также по умолчанию включены компактные заголовки объектов: на 64-битных архитектурах их размер сокращён с 12 до 8 байт. Это уменьшает накладные расходы на хранение объектов в куче.

Безопасность и диагностика

TLS 1.3 получил гибридный обмен ключами, сочетающий традиционный и постквантовый алгоритмы. Для приложений, использующих javax.net.ssl, менять код не потребуется.

В JDK Flight Recorder появилась возможность скрывать аргументы командной строки и начальные значения переменных окружения и системных свойств. Данные обрабатываются до выхода из процесса, что снижает риск утечки секретов через диагностические записи.

Что пока остаётся предварительным

Ещё четыре возможности продолжают проходить обкатку:

  • Примитивные типы в сопоставлении с образцом, instanceof и switch — пятая предварительная версия, снимающая ограничения при работе с примитивами.

  • Ленивые константы — третья версия API для отложенной инициализации неизменяемых значений.

  • Структурированная конкурентность — седьмая версия API для совместного управления связанными задачами в разных потоках.

  • Преобразование криптографических объектов в PEM и обратно — третья версия API для ключей, сертификатов и списков отзыва.

Vector API остаётся в инкубаторе уже двенадцатый раз. Он позволяет использовать векторные инструкции поддерживаемых процессоров для ускорения вычислений.

Предварительные API ещё могут измениться. Обновления Oracle JDK 27 запланированы до марта 2027 года.

А 21 сентября в 20:00 приглашаем на бесплатный демо‑урок «HTTP‑сервер на чистой Java за 30 минут», где вместе с преподавателем продвинутого курса по Java создадим работающий сервис без Spring и сторонних библиотек и разберёмся, что обычно скрывает фреймворк.