Вышла Axiom JDK Pro 26
Новая Axiom JDK 26 уже доступна для скачивания.
Вышла Axiom JDK Pro 26. Новая версия содержит:
- 2825 исправлений, из которых 2665 в JDK и 160 в FX.
- 10 JEP с новыми, улучшенными и удалёнными фичами.
Чтобы попробовать Axiom JDK 26:
- Для разработчиков: войдите в личный кабинет разработчика, в разделе Продукты выберите подходящую платформу и соответствующую версию для загрузки.
- Текущим клиентам: войдите в учётную запись на портале поддержки и в Центре загрузок скачайте Axiom JDK Pro 26.
JDK 26 не является версией с долгосрочной поддержкой (LTS) и подходит для изучения новых возможностей Java.
Кратко о JEP:
Новые
- JEP 500: Подготовка к тому, чтобы final снова означал final. В Java поле final обозначает неизменяемое состояние: после присваивания в конструкторе или в инициализаторе класса его нельзя переназначить. Это важно и для надежности, и для оптимизаций JVM. Но в платформе до сих пор есть API, которые позволяют через глубокую рефлексию менять поля final в уже созданном объекте, и это подрывает сам смысл final. В JDK 26 за такие сценарии начнут показываться предупреждения.
- JEP 517: HTTP/3 for the HTTP Client API добавляет поддержку HTTP/3 в стандартный Java HTTP Client API. HTTP/2 при этом остается версией по умолчанию, а HTTP/3 нужно указывать явно. Если целевой сервер не поддерживает HTTP/3, то клиент автоматически откатится к HTTP/2 или HTTP/1.1.
- JEP 522: G1 GC: Повышение пропускной способности за счёт уменьшения синхронизации.
Улучшения
- JEP 516: Ahead-of-Time Object Caching с любым GC: AOT Cache можно использовать с любым GC, включая ZGC.
- JEP 524: PEM Encodings of Cryptographic Objects (вторая предварительная версия) предлагает внедрить API для кодирования объектов, представляющих криптографические ключи, сертификаты в широко используемый транспортный формат PEM (Privacy-Enhanced Mail), а также для декодирования из этого формата обратно в объекты.
- JEP 525: Structured Concurrency (шестая предварительная версия) предлагает подход многопоточного программирования, главная идея которого заключается в следующем: если задача расщепляется на несколько конкурентных подзадач, то эти подзадачи воссоединяются в блоке кода главной задачи. При этом все подзадачи логически сгруппированы и организованы в иерархию, а каждая подзадача ограничена по времени жизни областью видимости блока кода главной задачи.
- JEP 526: Lazy Constants (вторая предварительная версия) представляет API для объектов, содержащих неизменяемые данные. Lazy Constants обрабатываются JVM как константы, что позволяет осуществлять те же оптимизации производительности, что и при объявлении поля final. По сравнению с final-полями Lazy Constants обеспечивают большую гибкость в отношении времени их инициализации.
- JEP 529: Vector API (одиннадцатый инкубатор) повышает производительность расчётов на массивах однотипных данных, которые компилируются в векторные инструкции во время исполнения приложения. В одиннадцатом инкубаторе
- JEP 530: Примитивные типы в patterns, instanceof и switch (четвёртая предварительная версия) делают instanceof и switch более удобными для работы с примитивными типами данных.
Удалённые фичи
- JEP 504: Удаление Applet API окончательно убирает пакет java.applet, связанные с апплетами классы и оставшиеся элементы платформы, которые на него ссылались.
Чтобы спланировать процесс миграции на следующий LTS-релиз, установите Axiom JDK Pro 26 и протестируйте новые возможности Java.
Java 26 не является LTS-версией, поэтому рекомендуем рассматривать её для изучения новых возможностей.
Подписывайтесь на наш Telegram-канал, канал в Max и блог на Хабр, чтобы быть в курсе новостей мира Java и Axiom JDK.
