15 сентября 2026 года вышла Java 27. Это не LTS-релиз, а потому новых возможностей языка здесь немного.
Зато JVM получила несколько изменений, которые могут заметно повлиять на уже работающие приложения — особенно в контейнерах и production-средах.
Читают прямо сейчас:
Что такое сборщик мусора в программировании — как работают G1 и Serial GC и почему смена дефолтного сборщика в Java 27 изменит поведение небольших контейнеров
Что такое Java и зачем он нужен — как устроена JVM и почему изменения в заголовках объектов дают 10–20% экономии памяти в нагруженных приложениях
Что такое JDK и как начать с ним работать — какие дистрибутивы JDK оптимизированы под контейнеры и что проверить перед обновлением на Java 27 в production
Заголовки объектов стали компактнее
Главное изменение — Compact Object Headers теперь включены по умолчанию. Механизм уменьшает служебную часть объектов на 64-битных JVM и в некоторых приложениях способен сократить занимаемое кучей место на 10–20%.
Особенно заметен эффект у систем, которые создают огромное количество небольших объектов: DTO, элементов коллекций, прокси и различных служебных структур. Но ждать автоматического уменьшения, например, лимита контейнера с 2 до 1,6 ГБ не стоит. Экономия зависит от структуры конкретного приложения.
Поэтому перед изменением -Xmx лучше сравнить live set, allocation rate, частоту GC и latency на реальной нагрузке.
G1 теперь выбирается даже для маленьких контейнеров
В Java 27 убрали исключение, из-за которого JVM могла выбирать Serial GC в окружениях с ограниченными ресурсами. Теперь G1 становится сборщиком по умолчанию независимо от размера машины.
Для обычного сервера это может пройти незаметно. А вот небольшой Spring Boot сервис с лимитом в несколько сотен мегабайт и долями CPU после обновления способен получить другой профиль нагрузки: изменятся служебные расходы GC, количество потоков и поведение пауз.
Если Serial GC использовался намеренно, его теперь стоит указывать явно через –XX:+UseSerialGC. В остальных случаях конфигурацию лучше проверить до обновления и сравнить метрики Java 25/26 и Java 27.
JFR научился прятать пароли и токены
Java Flight Recorder в Java 27 автоматически редактирует чувствительные значения в аргументах JVM, переменных окружения и системных свойствах. В стандартный список попали названия вроде password, token, secret, credential, api-key и private-key.
Это снижает риск случайно отправить пароль или токен вместе с JFR-файлом при диагностике проблем. При необходимости можно добавить собственные правила редактуры.
Однако JFR не становится полностью безопасным хранилищем: приложение все еще может самостоятельно записать секрет в пользовательское событие, лог или сообщение об ошибке. Поэтому доступ к диагностическим файлам по-прежнему нужно ограничивать.
Старые JVM-флаги могут сломать запуск
В Java 27 удалены устаревшие параметры -noclassgc, -noverify, -verifyremote и -Xverify:none. Это важно для старых Dockerfile, скриптов запуска и конфигураций CI. Если такой флаг где-то остался, приложение может не запуститься после обновления.
Также переименован параметр -XX:InitiatingHeapOccupancyPercent — новое имя –XX:G1IHOP. Старое пока работает, но уже считается устаревшим.
Кроме того, изменился JSON-формат дампов потоков: идентификаторы и счетчики теперь записываются числами, а в корневом объекте появился formatVersion: 2. Если внутренние инструменты разбирают такие дампы, их придется проверить.
Что проверить перед обновлением
Java 27 интересна не столько языковыми нововведениями, сколько изменениями поведения JVM.
Перед переходом стоит проверить три вещи: реальное потребление heap с Compact Object Headers, работу G1 в небольших контейнерах и совместимость скриптов с удаленными JVM-флагами.
Отдельно стоит протестировать инструменты диагностики, если они используют JSON thread dump или JFR.
Большая скидка — 16% на все курсы Практикума
Если вы читаете эту новость, тогда вы точно разбираетесь в технологиях. Стать лучше и зарабатывать больше можно после курсов Практикума — по искусственному интеллекту, анализу данных и программированию.
До 17 сентября на все курсы действует скидка 16%, она применится автоматически при оплате!
В Практикуме есть программы для начинающих и специалистов с опытом, которые хотят обновить знания или освоить новое направление.
