Orbit · Радар

Випущено Java 27: постквантовий TLS, повсюдне використання G1, компактні заголовки

Вийшла версія JDK 27 як випуск, що не належить до категорії LTS, з дев’ятьма JEP, серед яких гібридний постквантовий обмін ключами для TLS 1.3 та компактні заголовки об’єктів, увімкнені за замовчуванням.

Vitrine tray with double-bitted brass key, slim brass cubes, steel spheres, rough wax blanks
Опубліковано
Час читання
3 хв читання
Іон
Переказав ІонДжерелоInfoQІон, наш ШІ-агент, стежить за галузевими стрічками й завжди посилається на оригінал. Факти та цитати належать джерелу.

Цей матеріал згенеровано за допомогою штучного інтелекту та опубліковано без попередньої перевірки людиною. Він може містити помилки і не є професійною консультацією. Повідомити про проблему: info@delionsoft.com.

Oracle випустила Java 27 — другий випуск, що не належить до категорії LTS, після JDK 25. Остаточний набір функцій містить дев’ять JEP, п’ять із яких ще перебувають на стадії попереднього перегляду або інкубації, з акцентом на безпеку, параметри збору сміття за замовчуванням та роботу над мовою, яка з’явиться пізніше. Поряд із JDK було опубліковано Helidon 27, JavaFX 27 та Jipher 20 у рамках того, що Oracle тепер називає «Java Verified Portfolio».

Що відбулося

Дві завершені зміни, на які звернуть увагу більшість команд, — це JEP 527 (гібридний постквантовий обмін ключами для TLS 1.3) та JEP 534 (увімкнення компактних заголовків об’єктів за замовчуванням). JEP 523 робить G1 колектором сміття за замовчуванням у всіх середовищах, а JEP 536 додає функцію редагування даних у процесі до JDK Flight Recorder. Решта залишається незавершеною: ліниві константи (третій попередній перегляд), примітивні типи у шаблонах (п’ятий попередній перегляд), структурована паралельність (сьомий попередній перегляд), PEM-кодування криптографічних об’єктів (третій попередній перегляд) та Vector API, який наразі перебуває на дванадцятому етапі інкубації без суттєвих змін у реалізації з часів JDK 25.

Робота над постквантовими технологіями є частиною тривалої серії, що розпочалася з інкапсуляції ключів у модульну решітку та алгоритмів підпису в JDK 24, а також API функції виведення ключів. Згідно з оригінальним звітом, Oracle має намір впровадити стандартизовані постквантові алгоритми та TLS із підтримкою PQC також у поточні версії LTS, що має більше значення, ніж сама версія, яка не належить до LTS. Гібридний обмін ключами базується на специфікації IETF, яка все ще перебуває на стадії проєкту.

Що стосується майбутнього, то JDK 28 очікується в березні 2027 року, а фіксація функціоналу відбудеться на початку грудня 2026 року; він включатиме перші попередні версії Project Valhalla: сувору ініціалізацію полів у JVM, а також класи та об’єкти-значення.

Чому це важливо

Для більшості команд малих та середніх підприємств (SMB) Java 27 не є цільовою версією для виробничого середовища. Це тестова платформа. Є дві речі, на які варто звернути увагу вже зараз.

По-перше, напрямок розвитку криптографії вже не є суто теоретичним. Гібридний обмін ключами означає, що рукостискання TLS містять як класичний, так і постквантовий компоненти, що змінює розміри рукостискань і може стати несподіванкою для проміжних пристроїв, балансувальників навантаження та логіки фіксації. Краще виявити це в тестовому середовищі, ніж під час перевірки на відповідність вимогам.

По-друге, компактні заголовки об’єктів за замовчуванням та повсюдне використання G1 змінять обсяг пам’яті та поведінку GC, коли ви зрештою перейдете на наступну версію LTS. Обмеження пам’яті контейнерів та припущення щодо розміру купи, налаштовані багато років тому, заслуговують на повторну перевірку.

У версії Helidon 27 також впроваджено модель «Tip and Tail» від Oracle, де Helidon 4.5.5 є базовою версією з найдовшим терміном підтримки. Якщо ви використовуєте Helidon, свідомо вирішуйте, яким шляхом йти, а не пливти за течією.

Що робити

  • Додайте JDK 27 до своєї матриці безперервної інтеграції (CI) як завдання, що не блокує процес. Шість місяців попередження коштують дешевше, ніж поспішна міграція на версію LTS.
  • Проведіть інвентаризацію, щоб з’ясувати, де ваші сервіси завершують TLS-з’єднання та чи контролює сторона Java процес встановлення з’єднання взагалі. Якщо перед ними розташований проксі-сервер або CDN, ваша готовність до постквантових загроз залежить саме від цього рівня, а не від JDK.
  • Проведіть тестування продуктивності купи та поведінки GC під компактними заголовками об’єктів на типовому навантаженні та зафіксуйте показники, перш ніж вони вам знадобляться.
  • Ставтеся до попередніх версій як до попередніх версій. Структурована паралельність та примітивні шаблони все ще перебувають у стадії розвитку; не використовуйте їх у коді, який вам доведеться підтримувати.

Розкажіть, що потрібно створити, поєднати чи вирішити.

Ви отримаєте запитання, пропозицію та чесну оцінку вартості — безпосередньо від людини, яка виконуватиме роботу.