Данный релиз соответствует OpenJDK 16.0.1+9, номер версии Axiom JDK - 16
Axiom является сертифицированным Java SE 16-совместимым дистрибутивом OpenJDK 16, который работает на серверах (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 16.0.1 для получения дополнительной информации о функционале JDK 16. В этом документе описываются особенности дистрибутива Axiom по сравнению с дистрибутивом Oracle JDK 16.
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 16 распространяется в виде .msi, .dmg, .deb, .rpm, .zip и .tar.gz. Пожалуйста, выберите формат, который наиболее подходит для ваших целей.
Axiom 16 содержит весь функционал, поддерживаемый OpenJDK 16.
С появлением Jigsaw в JDK 9 и минимальной виртуальной машины (Minimal VM) теперь можно создать среду исполнения, достаточную для запуска приложения и в то же время оптимизированную по размеру. Чтобы создать среду выполнения только с минимальной виртуальной машиной, добавьте опцию - vm=minimal jlink.
Axiom JDK продолжает поддерживать AOT и Graal JIT. Поскольку в сборках OpenJDK 16 эти экспериментальные функции признаны устаревшими, для безошибочной компиляции нативных образов рекомендуется использовать Axiom Native Image Kit.
По умолчанию Axiom использует серверную виртуальную машину (Server VM). Серверная виртуальная машина и клиентская виртуальная машина могут быть включены с помощью параметров командной строки -server и -client соответственно. В случае, если требуется минимальный размер среды исполенения, можно использовать Minimal VM, которая оптимизирована по размеру. Minimal VM имеет только компилятор C1 JIT, Serial GC и не имеет функционала Serviceability. Minimal VM можно включить параметром командной строки -minimal.
Axiom JDK 16 поставляется в комплекте со сборкой платформы AxiomFX, основанной на OpenJFX. В следующих таблицах перечислены состояния модулей Java FX дистрибутива Axiom.
* - за исключением сборок для armhf.
Для armhf работают следующие графические конвейеры: EGL, SW (direct framebuffer) и GTK. По умолчанию Axiom пытается использовать конвейер EGL, который требует наличия библиотек EGL. Если они не найдены, реализация возвращается к программному обеспечению.
Используйте следующие параметры командной строки, чтобы указать конвейер рендеринга:
* Не поддерживается на Raspberry Pi 4.
Дополнительная информация доступна на следующей wiki странице.
Axiom JDK 16 для 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 |
---|---|
7146776 | deadlock between URLStreamHandler.getHostAddress and file.Handler.openconnection |
8198540 | Dynalink leaks memory when generating type converters |
8204568 | Relative CSS-Attributes don’t work all time |
8226810 | Failed to launch JVM because of NullPointerException occured on System.props |
8228363 | ContextMenu.show with side=TOP does not work the first time in the presence of CSS |
8239589 | JavaFX UI will not repaint after reconnecting via Remote Desktop |
8241372 | Several test failures due to javax.net.ssl.SSLException: Connection reset |
8244473 | Contextualize registration for JNDI |
8244543 | Enhanced handling of abstract classes |
8248126 | JavaFX ignores HiDPI scaling settings on some linux platforms |
8249737 | java.lang.RuntimeException: Too many touch points reported |
8249867 | xml declaration is not followed by a newline |
8249906 | Enhance opening JARs |
8250568 | Less ambiguous processing |
8251944 | Add Shenandoah test config to compiler/gcbarriers/UnsafeIntrinsicsTest.java |
8252099 | JavaFX does not render Myanmar script correctly |
8252883 | AccessDeniedException caused by delayed file deletion on Windows |
8252971 | WindowsFileAttributes does not know about Unix domain sockets |
8253368 | TLS connection always receives close_notify exception |
8253409 | Double-rounding possibility in float fma |
8253702 | BigSur version number reported as 10.16, should be 11.nn |
8253799 | Make lists of normal filenames |
8253910 | UseCompressedClassPointers depends on UseCompressedOops in vmError.cpp |
8254836 | Cherry pick GTK WebKit 2.30.3 changes |
8256215 | Shenandoah: re-organize saving/restoring machine state in assembler code |
8256283 | IndexOutOfBoundsException when sorting a TreeTableView |
8256421 | Add 2 HARICA roots to cacerts truststore |
8257001 | Improve HTTP client support |
8257513 | C2: assert((constant_addr - _masm.code()->consts()->start()) == con.offset()) |
8257746 | Regression introduced with JDK-8250984 - memory might be null in some machines |
8258077 | Using -Xcheck:jni can lead to a double-free after JDK-8193234 |
8258243 | C2: assert failed (“Bad derived pointer”) with -XX:+VerifyRegisterAllocator |
8258247 | Couple of issues in fix for JDK-8249906 |
8258457 | testlibrary_tests/ctw/JarDirTest.java fails with InvalidPathException on windows |
8258471 | “search codecache” clhsdb command does not work |
8258490 | Shenandoah: Full GC does not need to remark threads and drain SATB buffers |
8258534 | Epsilon: clean up unused includes |
8258909 | update jdk16u jcheck conf |
8258946 | Fix optimization-unstable code involving signed integer overflow |
8259048 | (tz) Upgrade time-zone data to tzdata2020f |
8259049 | Uninitialized variable after JDK-8257513 |
8259231 | Epsilon: improve performance under contention during virtual space expansion |
8259339 | AllocateUninitializedArray C2 intrinsic fails with void.class input |
8259392 | Zero error reporting is broken after JDK-8255711 |
8259428 | AlgorithmId.getEncodedParams() should return copy |
8259446 | runtime/jni/checked/TestCheckedReleaseArrayElements.java fails with stderr not empty |
8259451 | Zero: skip serviceability/sa tests, set vm.hasSA to false |
8259576 | Misplaced curly brace in Matcher::find_shared_post_visit |
8259580 | Shenandoah: uninitialized label in VerifyThreadGCState |
8259619 | C1: 3-arg StubAssembler::call_RT stack-use condition is incorrect |
8259620 | Bump release strings for JDK 16.0.1 |
8259628 | jdk/net/ExtendedSocketOption/AsynchronousSocketChannelNAPITest.java fails intermittently |
8259633 | compiler/graalunit/CoreTest.java fails with NPE after JDK-8244543 |
8259635 | Update to 610.2 version of WebKit |
8259679 | GitHub actions should use MSVC 14.28 |
8259680 | Need API to query states of CAPS LOCK and NUM LOCK keys |
8259706 | C2 compilation fails with assert(vtable_index == Method::invalid_vtable_index) failed: correct sentinel value |
8259773 | Incorrect encoding of AVX-512 kmovq instruction |
8259777 | Incorrect predication condition generated by ADLC |
8259849 | Shenandoah: Rename store-val to IU-barrier |
8259949 | x86 32-bit build fails when -fcf-protection is passed in the compiler flags |
8259954 | gc/shenandoah/mxbeans tests fail with -Xcomp |
8260009 | InstanceKlass::has_as_permitted_subclass() fails if subclass was redefined |
8260010 | UTF8ZipCoder not thread-safe since JDK-8243469 |
8260029 | aarch64: fix typo in verify_oop_array |
8260048 | Shenandoah: ShenandoahMarkingContext asserts are unnecessary |
8260163 | IrresponsiveScriptTest.testInfiniteLoopInScript unit test fails on Windows |
8260165 | CSSFilterTest.testCSSFilterRendering system test fails |
8260257 | [Linux] WebView no longer reacts to some mouse events |
8260338 | Some fields in HaltNode is not cloned |
8260349 | Cannot programmatically retrieve Metaspace max set via JAVA_TOOL_OPTIONS |
8260356 | (tz) Upgrade time-zone data to tzdata2021a |
8260380 | Upgrade to LittleCMS 2.12 |
8260570 | Updating RE Configs for BUILD REQUEST 16.0.1+2 |
8260592 | jpackage tests fail when Desktop is not supported |
8260864 | ProblemList two security/krb5 tests on Linux |
8260933 | runtime/cds/serviceability/ReplaceCriticalClassesForSubgraphs.java fails without CompactStrings |
8260934 | java/lang/StringBuilder/HugeCapacity.java fails without Compact Strings |
8261022 | Fix incorrect result of Math.abs() with char type |
8261170 | Upgrade to freetype 2.10.4 |
8261183 | Follow on to Make lists of normal filenames |
8261209 | isStandalone property: remove dependency on pretty-print |
8261231 | Windows IME was disabled after DnD operation |
8261251 | Shenandoah: Use object size for full GC humongous compaction |
8261261 | The version extra fields needs to be overridable in jib-profiles.js |
8261310 | PPC64 Zero build fails with ‘VMError::controlled_crash(int)::FunctionDescriptor functionDescriptor’ has incomplete type and cannot be defined |
8261334 | NMT: tuning statistic shows incorrect hash distribution |
8261397 | Try Catch Method Failing to Work When Dividing An Integer By 0 |
8261413 | Shenandoah: Disable class-unloading in I-U mode |
8261460 | Incorrect CSS applied to ContextMenu on DialogPane |
8261483 | jdk/dynalink/TypeConverterFactoryMemoryLeakTest.java failed with “AssertionError: Should have GCd a method handle by now” |
8261522 | [PPC64] AES intrinsics write beyond the destination array |
8261585 | Restore HandleArea used in Deoptimization::uncommon_trap |
8261752 | Multiple GC test are missing memory requirements |
8261753 | Test java/lang/System/OsVersionTest.java still failing on BigSur patch versions after JDK-8253702 |
8261758 | [TESTBUG] gc/g1/TestGCLogMessages.java fails if ergonomics detect too small InitialHeapSize |
8261779 | JCK test api/javax_crypto/EncryptedPrivateKeyInfo/Ctor4.html is failing with assertion error when assertions enabled |
8261860 | Crash caused by lambda proxy class loaded in Shutdown hook |
8261912 | Code IfNode::fold_compares_helper more defensively |
8261927 | WebKit build fails with Visual Studio 2017 |
8262018 | Wrong format in SAP copyright header of OsVersionTest |
8263968 | CDS: java/lang/ModuleLayer.EMPTY_LAYER should be singleton |
8264536 | Building OpenJFX on Apple AARCH64 not possible |