Компания Oracle официально представила Java 27 — актуальный функциональный релиз платформы, выход которого состоялся спустя полгода после появления версии 26. Данное обновление продолжает регулярный цикл выпуска продуктов и включает девять предложений по улучшению JDK (JEP), которые затрагивают виртуальную машину Java (JVM), языковые возможности, инструменты криптографии, библиотеки и средства разработки. Из общего списка нововведений четыре функции представлены в режиме предварительного просмотра (preview), а Vector API остается в статусе инкубатора.

Ключевые изменения в управлении памятью и производительности
Одной из наиболее значимых перемен в Java 27 стал перевод сборщика мусора G1 в разряд решений, используемых по умолчанию во всех конфигурациях. В предыдущих версиях HotSpot JVM в ряде случаев мог отдавать предпочтение сборщику Serial, однако теперь при отсутствии явных настроек со стороны пользователя система будет автоматически выбирать G1.
Важным дополнением стало включение функции Compact Object Headers (компактные заголовки объектов) по умолчанию. На 64-битных архитектурах это нововведение сокращает размер заголовка объекта с 96 до 64 бит. По данным Oracle, такой подход позволяет оптимизировать использование кучи, улучшить локальность данных и размещать большее количество объектов в том же объеме оперативной памяти.
Новые стандарты безопасности и криптографии
В Java 27 реализован гибридный обмен ключами, устойчивый к квантовым вычислениям, для протокола TLS 1.3. Эта реализация объединяет классические алгоритмы шифрования с постквантовыми аналогами. Технология автоматически становится доступна приложениям, использующим API javax.net.ssl, и не требует внесения изменений в существующий программный код.
Также представлена функция JFR In-Process Data Redaction. Java Flight Recorder теперь умеет маскировать аргументы командной строки, значения переменных окружения и системных свойств до того, как диагностические данные покинут запущенный процесс Java. Это помогает предотвратить попадание конфиденциальной информации в отчеты и записи.
Развитие языка и инструментов разработки
В области языковых конструкций продолжается работа над несколькими экспериментальными функциями:
- Примитивные типы в шаблонах, instanceof и switch перешли в пятую стадию предварительного просмотра. Цель изменений — обеспечить более последовательное участие примитивных значений в системе сопоставления с образцом (pattern matching) и ужесточить проверки компилятора для выражений switch.
- Structured Concurrency возвращается в седьмом превью. API облегчает управление группами связанных параллельных задач как единым целым, особенно в части обработки отмены, ошибок и завершения выполнения.
- Lazy Constants представлены в третьем превью. Это API для значений, которые инициализируются только при первом обращении и остаются неизменяемыми в дальнейшем.
- Vector API находится на 12-й итерации в статусе инкубатора. Он позволяет разработчикам описывать векторные вычисления, которые JVM компилирует в векторные инструкции процессора для повышения производительности SIMD-задач.
Помимо крупных JEP, JDK 27 включает множество точечных улучшений среды выполнения и инструментария. Среди них — изменения в алгоритмах изменения размера кучи G1, оптимизация компилятора, ускорение операций ввода-вывода (в том числе нативных), а также оптимизации для ряда криптографических алгоритмов. Обновление затронуло и диагностические инструменты: дампы потоков в формате JSON теперь корректно отображают идентификаторы, а диагностика виртуальной машины научилась отслеживать число открытых файловых дескрипторов. В утилиту jcmd добавлена поддержка автодополнения команд в Bash.
Поддержка JDK 27 со стороны Oracle продлится до марта 2027 года, когда ожидается выход следующего крупного релиза — Java 28.






