Синхронно с Oracle мы выпустили Axiom JDK Pro 25 — новый долгосрочный релиз российской Java-платформы. Это LTS-версия с поддержкой до 2034 года — на год дольше, чем Oracle JDK 25. Для бизнеса это гарантия, что инфраструктура и критичные сервисы будут жить спокойно много лет. Для разработчиков — шанс сразу прыгнуть в JDK 25 и работать с новыми инструментами без страха, что их скоро «снимут с поддержки».
Под капотом — больше 2800 изменений в ядре. Мы прогоняем каждую сборку через 160 тысяч тестов на десятках аппаратных конфигураций, так что релиз выходит не «как есть», а уже готовым к российским сценариям. И важно — Axiom JDK 25 доступен в OpenIDE.
Итак, что внутри:
вход в Java стал проще, чем объяснить маме, что ты делаешь на работе,
многопоточность наконец-то ведёт себя предсказуемо,
JFR теперь можно юзать без шаманства,
ключи и сертификаты живут без костылей и сторонних JAR-ников.
Теперь разберем подробнее.
Безопасность: меньше костылей, больше стандарта
Криптография и безопасные протоколы давно стали болью для Java-разработчиков. В релизе закрыты часть дыр прямо на уровне платформы.
PEM Encodings of Cryptographic Objects (JEP 470)
Раньше, чтобы загрузить сертификат или ключ в PEM, приходилось тянуть сторонние библиотеки, писать свой парсер или костылить с OpenSSL. Теперь в JDK есть встроенный API для кодирования и декодирования PEM. Это значит — меньше зависимостей, меньше уязвимостей и меньше боли при сертификации ПО.Key Derivation Function API (JEP 510)
Новый стандартный API для генерации производных ключей. Зачем это нужно? Чтобы без костылей строить цепочки ключей в корпоративных системах (например, для TLS или обмена данными в распределённых приложениях). До этого каждый писал свои велосипеды или зависел от нестандартных провайдеров. Теперь всё это можно делать прозрачно и одинаково во всех JVM.Remove the 32-bit x86 Port (JEP 503)
Это скорее чистка: старые 32-битные системы ушли в прошлое, а мы получили более простую и надежную кодовую базу. Для тех, кто держал legacy на 32-битах, миграция в любом случае была неизбежна.
Производительность: Java еще быстрее
Тут самые интересные изменения для тех, кто держит нагруженные сервисы.
Ahead-of-Time Command-Line Ergonomics (JEP 514) и Ahead-of-Time Method Profiling (JEP 515)
Проблема Java-приложений — «холодный старт». Первые минуты после запуска сервис работает медленнее, пока JIT не соберёт профили и не оптимизирует код. Теперь это решается:JEP 514 упрощает создание AOT-кэшей — можно заранее подготовить нативный код и ускорить запуск.
JEP 515 сохраняет профили методов между запусками: JIT сразу использует опыт прошлого старта. В итоге Java-сервисы стартуют быстрее и предсказуемее, что критично для облаков и микросервисов.
Compact Object Headers (JEP 519)
В Java каждый объект несет «служебный заголовок» (mark word + указатель на класс). Обычно это 128 бит, но в JDK 25 они ужались до 64 бит. На сотнях миллионов объектов в памяти это означает десятки процентов экономии. Меньше памяти → меньше нагрузка на CPU и GC → дешевле эксплуатация.Generational Shenandoah GC (JEP 521)
Shenandoah уже известен как низколатентный GC, но теперь у него появилось поколенческое управление памятью. Он динамически подстраивает размеры поколений и их параметры, сохраняя короткие паузы и уменьшая нагрузку на систему. Для сервисов реального времени это очень выручает.Vector API v10 (JEP 508)
Наконец-то нормальный SIMD для Java. Если вы работаете с большими массивами чисел (финансы, ML, графика) — теперь можно писать на чистой Java, а HotSpot сам превратит это в векторные инструкции CPU. Производительность сравнима с нативным C++ без JNI-адской боли.
Удобство разработки: меньше повторов, больше гибкости
Java всегда ругали за «многословие» и сложный порог входа. В JDK 25 многое сделали проще и человечнее.
Scoped Values (JEP 506)
Более безопасная альтернатива ThreadLocal. Теперь можно передавать неизменяемые данные между методами и потоками без риска утечек и с понятным временем жизни. Отлично работает вместе с виртуальными потоками.Structured Concurrency v5 (JEP 505)
Сложные асинхронные операции теперь можно писать как линейный код. Вместо хаоса из callback-ов и CompletableFuture — читаемая структура, где задачи запускаются и завершаются вместе с областью видимости. Ошибки и отмена обрабатываются единообразно.Compact Source Files и Instance Main Methods (JEP 512)
Теперь можно написать рабочую Java-программу в один файл без лишних ceremony. Отлично для обучения, скриптов и быстрых прототипов.Flexible Constructor Bodies (JEP 513)
Конструкторы теперь позволяют писать инициализацию до вызова super() или this(). Это убирает кучу старых ограничений и делает классы более надёжными при переопределении.Module Import Declarations (JEP 511)
Больше не нужно городить громоздкий модульный код для простых случаев. Импорты модулей стали естественной частью синтаксиса.Java Flight Recorder (JEP 509, 518, 520)
JFR стал ещё мощнее:точное профилирование CPU-времени
стабильное семплирование без перекосов
трассировка методов без огромных накладных расходов
Для production-аналитики это must-have: меньше overhead, больше реальных данных о работе приложения.
Почему это важно для вас и для нас
Мы делаем Axiom JDK Pro для тех, кто не просто «пишет код», а строит критичные системы: банки, госсектор, телеком, инфраструктура. В таких проектах каждая минута простоя может стоить миллиарды и затронут жизни миллионов.
Поэтому мы вкладываемся в три вещи:
Надежность. Проверяем каждую сборку на совместимость с Java SE и на соответствие ГОСТ Р 56939–2024.
Поддержка. Релиз живёт до 2034 года, с регулярными апдейтами безопасности и патчами.
Оптимизации. Мы работаем над тем, чтобы ваши сервисы использовали новые возможности JVM и экономили ресурсы.
Где скачать
Для разработчиков: свободная версия Axiom JDK 25 доступна в личном кабинете — и в проекте OpenIDE
Для клиентов: релиз можно загрузить на портале поддержки.
Подключайтесь, пробуйте Axiom JDK Pro 25 и делитесь опытом — особенно интересно, какие фичи вы сразу потянете в прод, а какие оставите «на потом».