Liberica 8u302, 11.0.12 и 16.0.2 доступны для загрузки

Liberica 8u302, 11.0.12 и 16.0.2 доступны для загрузки


Июль 22, 2021


Цикл ежеквартальных обновлений Java™ в очередной раз подтверждает свою эффективность. С выходом новых сборок Liberica JDK 8u302, 11.0.12 и 16.0.2 сообщество OpenJDK смогло решить впечатляющее количество проблем предыдущих версий. Итак, в июльском релизе достигнуты следующие результаты:

  • устранено уязвимостей — 4:
    • CVE-2021-2388 (оценка CVSS 7.5),
    • CVE-2021-2369 (оценка CVSS 4.3),
    • CVE-2021-2432 (оценка CVSS 3.7),
    • CVE-2021-2341 (оценка CVSS 3.1);
  • сделано патчей безопасности — 16;
  • добавлено бэкпортов и исправлено ошибок — 501:
    • в Liberica 8u302 — 145,
    • в Liberica 11.0.12 — 281,
    • в Liberica 16.0.2 — 72 + 3 в JFX.

Команда BellSoft всегда старается учитывать потребности ваших проектов, реализовывать ожидания клиентов от JDK и JRE. Вот что вас ждёт помимо усиления безопасности и повышения производительности.

1. Liberica NIK Core

По многочисленным просьбам клиентов мы выпускаем особую версию компилятора Liberica Native Image Kit под названием Liberica NIK Core. Новый комплект содержит только код Java™ (сборки Liberica VM и GraalVM Community Edition) без дополнительных языковых плагинов.

Начиная с июля 2021 года BellSoft предлагает два инструмента для преобразования байткода в высокопроизводительные нативные файлы и ускорения приложений. Первый, Liberica NIK Standard, остаётся лучшим вариантом при работе на разных языках JVM. Liberica NIK Core — оптимальный выбор для разработки исключительно на Java™, особенно в связке со Spring Native1 и всей экосистемой Spring. Новый формат поддерживается на тех же платформах, что и Standard. С полным списком архитектур и операционных систем, доступных для Liberica NIK, можно ознакомиться на странице «Поддерживаемые конфигурации».

2. Оптимизированный JDK 8 Lite

Наконец, это случилось! Теперь Liberica JDK 8u302, как 11 и 16 версии, выпускается в виде пакетов Lite, расширяя тем самым линейку продуктов BellSoft.

В таблице ниже вы можете сравнить размеры файлов для разных операционных систем. Оцените, как много места на диске получится сэкономить при переходе со Standard на Lite.

  JDK Standard JDK Lite
Alpine (apk) 97,54 48,03
Alpine (tar.gz) 99,90 49,27
Debian (deb) 83,14 35,89
CentOS (rpm) 88,64 40,47
Linux (tar.gz) 101,65 51,32


Размеры бинарных файлов JDK 8u302 Standard и Lite, МБ

Образ Liberica JDK Alpine musl остаётся лучшим предложением на рынке для создания самых маленьких контейнеров на Java™. Планируете миграцию на микросервисы и ищете способ сократить потребление облачных ресурсов? JDK 8 — стабильный и одновременно прогрессивный выбор.

3. Уменьшение размера контейнеров с JDK 11 и 16 Lite

Когда дело касается разработки ПО, размер имеет значение. В результате оптимизации пакетов Liberica 11.0.12 и 16.0.2 Lite мы добились значительного сокращения размеров Docker-контейнеров:

  • Liberica JDK 11.0.12 Alpine Linux musl — 75,82 МБ
  • Liberica JRE 11.0.12 Alpine Linux musl — 44,19 МБ
  • Liberica JDK 11.0.12 java.base — всего 21,7 МБ!

Забронируйте бесплатную консультацию с экспертами BellSoft и узнайте, какую пользу контейнеры на Java принесут вашему проекту.

Изменения в основной ветви OpenJDK: подборка функций JDK 11.0.12

1. Бэкпорты для AArch64

В текущую версию JDK 11 были перенесены исправления, связанные с улучшением производительности среды исполнения Java на архитектуре Arm. Команда BellSoft выполнила 28 бэкпортов, что составляет 10% от общего их числа. Такой большой объем изменений стал возможным также благодаря вкладу инженеров Red Hat, которые сперва настроили поддержку,2 а затем оптимизировали3 работу LSE Atomics в коде C++.

Работа с бэкпортами привела к повышению показателей DaCapo в среднем на 6%.

2. Устранение зависимостей от JNF

JavaNativeFoundation — это фреймворк от Apple, предназначенный для поддержки Java-приложений, которые используют нативные методы. Не являясь частью операционной системы macOS, он представляет собой набор макросов и функций языка C для обеспечения совместимости с фреймворком Cocoa. К примеру, он отвечает за переключение между строками Java и NSStings. Его макросы выполняют разные функции: очистка памяти, переброс исключений Objective-C и работа с пулами Autorelease. Использование этого компонента не было обязательным, но отключение могло привести к трудноуловимым ошибкам. Теперь же поддержка JNF в Java™ полностью прекращается.

Текущий релиз 11.0.12 не поддерживает зависимости от JNF, и JavaNativeFoundation Framework в целом больше не поставляется в комплекте с Liberica JDK 11, как на x86_64, так и на AArch64. Для пользователей Mac изменение пройдет совершенно незаметно — достаточно просто установить новую версию среды.

3. Бэкпортирование G1

В этом обновлении улучшена производительность сборщика мусора G1 для приложений, производящих большое число humongous objects (объектов, которые не помещаются в один регион и хранятся в смежных) с коротким временем жизни. Сборка большинства из них происходит в фазу молодого поколения. Таким образом, количество регионов с характеристикой humongous, представленных после последнего GC, вновь выделенных после последнего GC или представленных после текущего GC, записывается в каждом цикле, где задействовано только молодое поколение регионов.4 Эти данные используются для адаптивного вычисления значения процента инициализации кучи (IHOP).5


Вы можете быть уверены, что BellSoft прислушивается к сообществу OpenJDK. Мы стремимся предлагать своим клиентам удобные инструменты для создания критически важных Java-приложений, выпускать релизы качественно и в срок.

Все новые сборки доступны для скачивания уже сейчас! Кликните по кнопке ниже или перейдите в Центр загрузок Liberica JDK.

Ссылки

  1. Spring Native on GitHub
  2. [JDK-8263876] AArch64: Support for LSE atomics C++ HotSpot code - Java Bug System
  3. [JDK-8263877] AArch64: Optimize LSE atomics in C++ code - Java Bug System
  4. [JDK-8246274] G1 old gen allocation tracking is not in a separate class - Java Bug System
  5. [JDK-8245511] G1 adaptive IHOP does not account for reclamation of humongous objects by young GC - Java Bug System
Author image

Алексей Войтылов

BellSoft CTO

 LinkedIn

BellSoft LTD [email protected] BellSoft LTD logo Liberica Committed to Freedom 199 Obvodnogo Kanala Emb. 190020 St. Petersburg RU +7 812-336-35-67 BellSoft LTD 199 Obvodnogo Kanala Emb. 190020 St. Petersburg RU +7 812-336-35-67 BellSoft LTD 111 North Market Street, Suite 300 CA 95113 San Jose US +1 702 213-59-59