17 марта 2026 года состоялся выпуск JDK 26 — эталонной реализации платформы Java SE (Platform version 26), специфицированной в JSR 401 в рамках Java Community Process. Об этом сообщается на официальном сайте OpenJDK.

Ключевые детали релиза:

  • Статус: General Availability (общедоступная версия).
  • Бинарные сборки: Production-ready бинарные файлы под лицензией GPL в сборке от Oracle уже доступны на jdk.java.net.
  • Разработка: Функции и график выпуска формировались через процесс JEP (JDK Enhancement Proposal) на основе JEP 2.0. Сам релиз подготовлен по процессу JDK Release Process (JEP 3).

График разработки и выхода JDK 26:

  • Rampdown Phase One (ветка от main line): 4 декабря 2025
  • Rampdown Phase Two: 15 января 2026
  • Initial Release Candidate: 5 февраля 2026
  • Final Release Candidate: 19 февраля 2026
  • General Availability: 17 марта 2026

Основные изменения:

  • 500: использование глубокой рефлексии для изменения полей, помеченных ключевым словом «final», теперь влечёт за собой предупреждение и в будущем планируется к удалению;
  • 504: удалён Applet API, применявшийся для запуска Java-приложений в браузере;
  • 516: реализована возможность использования предварительно формируемого кэша (AOT – ahead-of-time) c любыми сборщиками мусора;
  • 517: в API HTTP Client добавлена поддержка протокола HTTP/3;
  • 522: повышена производительность сборщика мусора G1;
  • 524: API для кодирования и декодирования объектов с криптографическими ключами, сертификатами и списками отозванных сертификатов в формате PEM обновлён до стадии Second Preview;
  • 525: API для cтруктурированного параллелизма (Structured Concurrency) обновлён до стадии Sixth Preview;
  • 526: API Lazy Constants для работы с объектами, содержащими неизменяемые данные, обновлён до Second Preview;
  • 529: предложена одиннадцатая тестовая реализация (Eleventh Incubator) Vector API, предоставляющего функции для векторных вычислений с использованием векторных инструкций процессоров x86_64 и AArch64;
  • 530: четвёртый предварительный вариант возможности использования примитивных типов (int, byte, char и другие базовые типы, не являющиеся объектами) во всех видах шаблонов, в операторе «instanceof» и в блоках «switch».

Источник: linux.org.ru

Добавить комментарий