Примечания к релизу Axiom JDK 15.0.1+9

Данный релиз соответствует OpenJDK 15.0.1+9, номер версии Axiom JDK - 15.

Axiom JDK 15.0.1+9

Axiom является сертифицированным Java SE 15-совместимым дистрибутивом OpenJDK 15, который работает на серверах (Linux x86_64, Linux ARM64, Solaris SPARC, Solaris x64, Windows 64), настольных компьютерах (Windows 64, Windows 32, Mac, Linux x86_64) и встроенных устройствах (Linux ARM64, Linux ARMv7, включая Raspberry Pi 2 & 3 (ARMv6 hardfloat). Axiom JDK имеет следующие дополнения:

  • Версия для Linux x86_64 содержит экспериментальную поддержку ZGC.
  • В версии для Linux x86_64, ARMv8 и ARMv7 можно выбрать клиентскую виртуальную машину (Client VM), серверную виртуальную машину (Server VM) и минимальную виртуальную машину (Minimal VM).
  • Версия для Alpine Linux x86_64 построена с поддержкой musl.
  • Версии для Windows x86_64, Windows x86, Mac, Linux x86_64, Linux x86 и Linux ARMv7 содержат OpenJFX 15.
  • Версия для Linux ARMv7 содержит Device IO API, скомпилированный для Raspberry Pi.

Пожалуйста, прочитайте примечания к релизу Oracle JDK 15.0.1 для получения дополнительной информации о функционале JDK 15. В этом документе описываются особенности дистрибутива Axiom по сравнению с дистрибутивом Oracle JDK 15.

Поддерживаемые серверные и десктопные конфигурации

Axiom поддерживается в следующих ОС:

  • Ubuntu Linux 16.04, 18.04 (x86, x86_64, ARMv8)
  • Debian Linux 8, 9 (x86, x86_64, ARMv8)
  • Red Hat, Oracle Linux, CentOS 7.x (x86, x86_64, ARMv8)
  • Alpine Linux 3.7+
  • SUSE Linux Enterprise 12, 15, tumbleweed (x86_64, ARMv8)
  • Apple macOS 10.11+
  • Microsoft Windows 2019, Windows 2016, Windows 2012 R2, Windows 10, Windows 8, Windows 7 (32 bit, 64 bit)

Также известно, Axiom JDK работает с некоторыми другими дистрибутивами Linux и версиями Windows.

Примечание: Минимальная поддерживаемая версия ядра Linux - 2.6.18, версия GLIBC - 2.6. AxiomFX работает на всех поддерживаемых версиях Ubuntu, семействе Red Hat Linux начиная с версии 7.x и SUSE с бэкэндом GTK2.

Поддерживаемые конфигурации для встраиваемых применений

Axiom is tested and certified on Raspberry Pi 2, 3 and 4 running the following OSes:

  • Raspbian OS (armhf)
  • OpenSUSE (armv8)

It is also known to work with Debian (armhf) and Ubuntu (armhf).

Поставка Axiom JDK 15.0.1

Axiom JDK 15 распространяется в виде .msi, .dmg, .deb, .rpm, .zip и .tar.gz. Пожалуйста, выберите формат, который наиболее подходит для ваших целей.

Axiom 15 содержит весь функционал, поддерживаемый OpenJDK 15.

С появлением Jigsaw в JDK 9 и минимальной виртуальной машины (Minimal VM) теперь можно создать среду исполнения, достаточную для запуска приложения и в то же время оптимизированную по размеру. Чтобы создать среду выполнения только с минимальной виртуальной машиной, добавьте опцию - vm=minimal jlink.

По умолчанию Axiom использует серверную виртуальную машину (Server VM). Серверная виртуальная машина и клиентская виртуальная машина могут быть включены с помощью параметров командной строки -server и -client соответственно. В случае, если требуется минимальный размер среды исполенения, можно использовать Minimal VM, которая оптимизирована по размеру. Minimal VM имеет только компилятор C1 JIT, Serial GC и не имеет функционала Serviceability. Minimal VM можно включить параметром командной строки -minimal.

AxiomFX

Axiom JDK 15 поставляется в комплекте со сборкой платформы AxiomFX, основанной на OpenJFX. В следующих таблицах перечислены состояния модулей Java FX дистрибутива Axiom.

  • Java FX Graphics - поддерживается.
  • Java FX Controls - поддерживается.
  • Java FX Media - поддерживается*.
  • Java FX Webkit - поддерживается*.

* - за исключением сборок для armhf.

Для armhf работают следующие графические конвейеры: EGL, SW (direct framebuffer) и GTK. По умолчанию Axiom пытается использовать конвейер EGL, который требует наличия библиотек EGL. Если они не найдены, реализация возвращается к программному обеспечению.

Используйте следующие параметры командной строки, чтобы указать конвейер рендеринга:

  • -Dprism.order=sw - программный конвейер рендеринга. *
  • -Dprism.order=es2 - EGL-конвейер и аппаратное ускорение. *
  • -Djavafx.platform=gtk, если вы хотите запустить приложение AxiomFX, используя Axiom из X11.

* Не поддерживается на Raspberry Pi 4.

Дополнительная информация доступна на следующей wiki странице.

Device IO API для Raspberry Pi

Axiom JDK 15 для armhf поставляется со встроенным модулем реализации API ввода-вывода (DIO) устройства OpenJDK. DIO предоставляет Java API для доступа к выводам Raspberry PI GPIO и для связи с периферийными устройствами:

  • Универсальный ввод / вывод (GPIO).
  • Межинтегральная шина (I2C), последовательный интерфейс (SPI).
  • Универсальный асинхронный приемник / передатчик (UART).

Дополнительная информация доступна на следующей wiki странице.

Известные особенности

AxiomFX и EGL на ОС Raspbian

С 2017 года в Raspbian OS изменилось расположение бибилитек libEGL.so и libGLESv2.so для чипа Broadcom. Если вы хотите использовать аппаратное ускорение EGL, доступное в видеодрайверах Broadcom в AxiomFX, при работе в Raspbian OS, выполните следующую команду:

cd /opt/vc/lib
sudo ln -s libbrcmEGL.so libEGL.so
sudo ln -s libbrcmGLESv2.so libGLESv2.so

Безопасность

BellSoft Axiom содержит исправления уязвимостей Oracle Java SE. Пожалуйста, обратитесь к документации Oracle для получения деталей о проблемах, исправленных в данной версии.

Дефекты, исправленные в этом релизе

Issue Description
8233624 Enhance JNI linkage
8236196 Improve string pooling
8236862 Enhance support of Proxy class
8237990 Enhanced LDAP contexts
8237995 Enhance certificate processing
8240124 Better VM Interning
8241007 Shenandoah: remove ShenandoahCriticalControlThreadPriority support
8241065 Shenandoah: remove leftover code after JDK-8231086
8241114 Better range handling
8241574 Shenandoah: remove ShenandoahAssertToSpaceClosure
8242680 Improved URI Support
8242685 Better Path Validation
8242695 Enhanced buffer support
8243302 Advanced class supports
8243320 Add SSL root certificates to Oracle Root CA program
8243321 Add Entrust root CA - G4 to Oracle Root CA program
8243470 [macos] bring back O2 opt level for unsafe.cpp
8244136 Improved Buffer supports
8244479 Further constrain certificates
8244955 Additional Fix for JDK-8240124
8245407 Enhance zoning of times
8245412 Better class definitions
8245417 Improve certificate chain handling
8247367 Shenandoah: pacer should wait on lock instead of exponential backoff
8247593 Shenandoah: should not block pacing reporters
8247736 Shenandoah: assert(_nm->is_alive()) failed: only alive nmethods here
8247751 Shenandoah: options tests should run with smaller heaps
8247754 Shenandoah: mxbeans tests can be shorter
8247757 Shenandoah: split heavy tests by heuristics to improve parallelism
8247845 Shenandoah: refactor TLAB/GCLAB retirement code
8247860 Shenandoah: add update watermark line in rich assert failure message
8248041 Shenandoah: pre-Full GC root updates may miss some roots
8248467 C2: compiler/intrinsics/object/TestClone fails with -XX:+VerifyGraphEdges
8248495 [macos] zerovm is broken due to libffi headers location
8248574 Improve jpeg processing
8248632 Shenandoah: build fails without both JVMTI and JFR
8248634 Shenandoah: incorrect include in shenandoahInitLogger.cpp
8248652 Shenandoah: SATB buffer handling may assume no forwarded objects
8248745 Add jarsigner and keytool tests for restricted algorithms
8248987 AOT’s Linker.java seems to eagerly fail-fast on Windows
8249230 Shenandoah: assertion failure with -XX:-ResizeTLAB
8249266 Bump release strings for JDK 15.0.1
8249266 Change jdk 15.0.1 milestone to fcs for build b02
8249649 Shenandoah: provide per-cycle pacing stats
8249672 Include microcode revision in features_string on x86
8249801 Shenandoah: Clear soft-refs on requested GC cycle
8249953 Shenandoah: gc/shenandoah/mxbeans tests should account for corner cases
8250548 libgraal can deadlock in -Xcomp mode
8250582 Revert Principal Name type to NT-UNKNOWN when requesting TGS Kerberos tickets
8250612 jvmciCompilerToVM.cpp declares jio_printf with “void” return type, should be “int”
8250665 Wrong translation for the month name of May in ar_JO,LB,SY
8250841 Shenandoah: need to reset/finish dead counters for StringTable/ResolvedMethodTable during STW root processing
8250844 Make sure {type,obj}ArrayOopDesc accessors check the bounds
8250861 Crash in MinINode::Ideal(PhaseGVN*, bool)
8250876 Fix issues with cross-compile on macos
8251359 Shenandoah: filter null oops before calling enqueue/SATB barrier
8251451 Shenandoah: Remark ObjectSynchronizer roots with I-U
8251859 sun/security/validator/PKIXValAndRevCheckTests.java fails
8251910 Shenandoah: Handshake threads between weak-roots and reset phases
Обратно на страницу загрузки
Команда Axiom JDK roman.karpov@axiomjdk.ru Команда Axiom JDK logo Axiom Committed to Freedom 199 Obvodnogo Kanala Emb. 190020 St. Petersburg RU +7 812-336-35-67 Команда Axiom JDK 199 Obvodnogo Kanala Emb. 190020 St. Petersburg RU +7 812-336-35-67