Вышла Java 27: G1 и компактные заголовки объектов теперь по умолчанию

2 мин
Вышла Java 27: G1 и компактные заголовки объектов теперь по умолчанию

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 для отложенной инициализации неизменяемых значений.

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

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

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

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

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

Читают сейчас

CircuitPython Turbo получил поддержку предварительной компиляции и режима Viper

10 минут назад

CircuitPython Turbo получил поддержку предварительной компиляции и режима Viper

Вы, вероятно, не раз встречались в интернете с утверждением о том, что Python — это свежий BASIC, который стал первым языком программирования для целого поколения разработчиков. Его главное преимущест

Зачем разработчику погружаться в продуктовый контекст и как в этом помогает ИИ?

11 минут назад

Зачем разработчику погружаться в продуктовый контекст и как в этом помогает ИИ?

Порассуждали на эту тему в гостях у подкаста Moscow Python — ребята предложили вместе записать начальный оффлайн‑выпуск после долгого перерыва. Поговорили о том, где граница между ролями продакта и ра

В Москве прошла открытая стратегическая сессия для диджитал‑рынка

24 минуты назад

В Москве прошла открытая стратегическая сессия для диджитал‑рынка

11 сентября в офисе AGIMA прошла открытая стратегическая сессия для участников диджитал-рынка — первая офлайн-встреча нового сезона 2026. Десять владельцев агентств и сервисных компаний наряду с двумя

28 минут назад

«Диасофт» внедрил ИИ‑функции и интеграцию с 1С в «Каталог метаданных»

Организация «Диасофт» расширила функциональность продукта «Каталог метаданных», входящего в состав решения «Фабрика данных» (Digital Q.DataFactory). В обновленной версии появились автоматическое запол

Бывший разработчик ChatGPT показал весьма быструю LLM для задач классификации

31 минуту назад

Бывший разработчик ChatGPT показал весьма быструю LLM для задач классификации

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