Синхронно с 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 и делитесь опытом — особенно интересно, какие фичи вы сразу потянете в прод, а какие оставите «на потом».