Новый релиз среды разработки Axiom JDK
Компания Axiom JDK выпустила новый релиз отечественной среды разработки и исполнения Java Axiom JDK Pro 23. Продукт включает значимые улучшения и возможности по 12 направлениям и предлагает повышение производительности, улучшение безопасности и упрощение процесса разработки.
Среди ключевых улучшений Axiom JDK Pro 23 – усовершенствованные функции Pattern Matching, которые позволяют ускорить написание программ и снизить вероятность ошибок благодаря безопасной работе с типами данных. С форматированием Markdown стала проще автоматическая генерация документации. А удаление почти всех методов Unsafe API позволит повысить безопасность и производительность, но потребует обновления библиотек с помощью доверенного репозитория Java-библиотек от инженеров Axiom JDK.
Как отмечают в компании, Axiom JDK разрабатывается в соответствии с промышленным процессом безопасной разработки, что облегчает ИТ-командам контроль операционной надежности ПО на всех этапах использования. Каждая сборка проходит тестирование QA/QC, включая регрессионные тесты, фаззинг, а также структурный, динамический и статический анализ. Среди дополнительных функций безопасности Axiom JDK – улучшенные сборщики мусора, сертифицированная ФСТЭК версия, проверенные исходные коды популярных Java библиотек, экстренные патчи безопасности и др.
Релиз Axiom JDK Pro 23 доступен в трех вариантах: Full, Standard и Lite. Версия Lite предназначена для высокоплотного развертывания контейнеризованных приложений и эффективного использования облачных ресурсов. Версия Standard подходит для большинства применений на десктопах и серверах. Версия Full включает полный набор и дополнительные пакеты, такие как OpenJFX, MinimalVM, Device Input-Output API.
Всего в JDK 23 внесено 2548 изменений и 12 JEP с новыми или улучшенными функциями. Наиболее значимые связаны с упрощением процесса разработки, улучшением безопасности, производительности и надежности.
Упрощение процесса разработки:
- JEP 455 – примитивные типы в шаблонах pattern matching, instanceof и switch позволяют ускорить написание кода и снизить вероятность ошибок благодаря безопасной работе с типами данных (превью);
- JEP 466 – Class-File API будет развиваться вместе с форматом класс-файлов и позволит использовать его вместо сторонних библиотек (второе превью);
- JEP 467 – поддержка Markdown в JavaDoc-комментариях упростит автоматическую генерацию документации;
- JEP 473 – Stream Gatherers усовершенствуют Stream API поддержкой пользовательских intermediate-операторов (второе превью);
- JEP 476 – импортирование модулей позволит импортировать сам модуль вместо явного импортирования его отдельных пакетов (превью);
- JEP 477 – неявные классы и main-методы экземпляра класса помогают писать лаконичные приложения без компонентов для крупных систем (третье превью);
- JEP 482 – гибкий конструктор сможет инициализировать поля в том же классе перед явным вызовом конструктора (второе превью).
Улучшение безопасности:
- JEP 471 – подготовка к удалению методов доступа к памяти в sun.misc.Unsafe позволит повысить безопасность и производительность, но потребует обновления библиотек;
- JEP 481 – Scoped Values позволяют расшаривать неизменяемые данные в рамках одного потока и между потоками (третий превью).
Улучшение производительности и надежности:
- JEP 469 – Vector API использует SIMD-инструкции (Single Instruction, Multiple Data), распараллеливая векторные вычисления (восьмой инкубатор);
- JEP 474 – сборщик мусора ZGC по умолчанию — generational — помогает снизить затраты на поддержку двух сборщиков мусора ZGC: non-generational и generational;
- JEP 480 – структурированный параллелизм рассматривает группы связанных задач, выполняемых в разных потоках, как единое целое (третий превью).
Как подчеркивают в Axiom JDK, безопасность корпоративных ИТ-систем, большинство из которых работают на Java, критически важна для непрерывности бизнеса и защиты его от внешних угроз. Эксплуатируемые уязвимости, которые компании могли игнорировать годами, представляют собой серьезный риск, поэтому нужно уделять особое внимание обновлению платформы Java, на которой работают критически важные системы.