Данный релиз соответствует OpenJDK 15.0.1+9, номер версии Axiom JDK - 15.
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 имеет следующие дополнения:
Пожалуйста, прочитайте примечания к релизу Oracle JDK 15.0.1 для получения дополнительной информации о функционале JDK 15. В этом документе описываются особенности дистрибутива Axiom по сравнению с дистрибутивом Oracle JDK 15.
Axiom поддерживается в следующих ОС:
Также известно, 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:
It is also known to work with Debian (armhf) and Ubuntu (armhf).
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.
Axiom JDK 15 поставляется в комплекте со сборкой платформы AxiomFX, основанной на OpenJFX. В следующих таблицах перечислены состояния модулей Java FX дистрибутива Axiom.
* - за исключением сборок для armhf.
Для armhf работают следующие графические конвейеры: EGL, SW (direct framebuffer) и GTK. По умолчанию Axiom пытается использовать конвейер EGL, который требует наличия библиотек EGL. Если они не найдены, реализация возвращается к программному обеспечению.
Используйте следующие параметры командной строки, чтобы указать конвейер рендеринга:
* Не поддерживается на Raspberry Pi 4.
Дополнительная информация доступна на следующей wiki странице.
Axiom JDK 15 для armhf поставляется со встроенным модулем реализации API ввода-вывода (DIO) устройства OpenJDK. DIO предоставляет Java API для доступа к выводам Raspberry PI GPIO и для связи с периферийными устройствами:
Дополнительная информация доступна на следующей wiki странице.
С 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 |