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
