Данный релиз соответствует OpenJDK 14.0.1+8, номер версии Axiom JDK - 14.
Axiom является сертифицированным Java SE 14-совместимым дистрибутивом OpenJDK 14.0.1, который работает на серверах (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 14.0.1 для получения дополнительной информации о функционале JDK 14. В этом документе описываются особенности дистрибутива Axiom по сравнению с дистрибутивом Oracle JDK 14.
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 14.0.1 распространяется в виде .msi, .dmg, .deb, .rpm, .zip и .tar.gz. Пожалуйста, выберите формат, который наиболее подходит для ваших целей.
Axiom 14.0.1 содержит весь функционал, поддерживаемый OpenJDK 14.
С появлением 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 14 поставляется в комплекте со сборкой платформы AxiomFX, основанной на OpenJFX. В следующих таблицах перечислены состояния модулей Java FX дистрибутива Axiom.
* - за исключением сборок для armhf.
Для armhf работают следующие графические конвейеры: EGL, SW (direct framebuffer) и GTK. По умолчанию Axiom пытается использовать конвейер EGL, который требует наличия библиотек EGL. Если они не найдены, реализация возвращается к программному обеспечению.
Используйте следующие параметры командной строки, чтобы указать конвейер рендеринга:
* Не поддерживается на Raspberry Pi 4.
Дополнительная информация доступна на следующей wiki странице.
Axiom JDK 14 для 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 |
---|---|
8044365 | (dc) MulticastSendReceiveTests.java failing with ENOMEM when joining group (OS X 10.9) |
8183369 | RFC unconformity of HttpURLConnection with proxy |
8221741 | ClassCastException can happen when fontconfig.properties is used |
8223898 | Forward references to Nashorn |
8223904 | Improve Nashorn matching |
8223935 | PIT: java/awt/font/WindowsIndicFonts.java fails on windows10 |
8224541 | Better mapping of serial ENUMs |
8224549 | Less Blocking Array Queues |
8225130 | Add exception for expiring Comodo roots to VerifyCACerts test |
8225216 | gc/logging/TestMetaSpaceLog.java doesn’t work for Shenandoah |
8225603 | Enhancement for big integers |
8226346 | Build better binary builders |
8227467 | Better class method invocations |
8227542 | Manifest improved jar headers |
8229733 | TLS message handling improvements |
8231118 | ARM32: Math tests failures |
8231415 | Better signatures in XML |
8231785 | Improved socket permissions |
8232424 | More constrained algorithms |
8232581 | Improve TLS verification |
8233245 | More adaptive sockets |
8233250 | Better X11 rendering |
8233410 | Better Build Scripting |
8234027 | Better JCEKS key support |
8234146 | compiler/jsr292/ContinuousCallSiteTargetChange.java times out on SPARC |
8234408 | Improve TLS session handling |
8234825 | Better Headings for HTTP Servers |
8234841 | Enhance buffering of byte buffers |
8235274 | Enhance typing of methods |
8235332 | TestInstanceCloneAsLoadsStores.java fails with -XX:+StressGCM |
8235691 | Enhance TLS connectivity |
8236201 | Better Scanner conversions |
8236759 | ShouldNotReachHere in PhaseIdealLoop::verify_strip_mined_scheduling |
8236851 | Shenandoah: More details in Traversal GC event messages |
8237192 | Generate stripped/public pdbs on Windows for jdk images |
8237217 | Incorrect G1StringDedupEntry type used in StringDedupTable destructor |
8237543 | Shenandoah: More asserts around code roots |
8237632 | Shenandoah: accept NULL fwdptr to cooperate with JVMTI and JFR |
8237780 | Shenandoah: More reliable nmethod verification |
8237837 | Shenandoah: assert(mem == __null) failed: only one safepoint |
8237879 | make 4.3 breaks build |
8237945 | CTW: C2 compilation fails with assert(just_allocated_object(alloc_ctl) == ptr) failed: most recent allo |
8237951 | CTW: C2 compilation fails with “malformed control flow” |
8238190 | [JVMCI] Fix single implementor speculation for diamond shapes. |
8238247 | CTW runner should sweep nmethods more aggressively |
8238356 | CodeHeap::blob_count() overestimates the number of blobs |
8238366 | CTW runner closes standard output on exit |
8238385 | CTW: C2 (Shenandoah) compilation fails with “Range check dependent CastII node was not removed” |
8238438 | SuperWord::co_locate_pack picks memory state of first instead of last load |
8238452 | Keytool generates wrong expiration date if validity is set to 2050/01/01 |
8238534 | Deep sign macOS bundles before bundle archive is being created |
8238721 | Add failing client jtreg tests to the Problem List |
8238756 | C2: assert(((n) == __null || !VerifyIterativeGVN || !((n)->is_dead()))) failed: can not use dead node |
8238811 | C2: assert(i >= req() || i == 0 || is_Region() || is_Phi()) with -XX:+VerifyGraphEdges |
8238851 | Shenandoah: C1: Resolve into registers of correct type |
8238932 | Invalid tier1_gc_1 test group definition |
8238960 | linux-i586 builds are inconsistent as the newly build jdk is not able to reserve enough space for object heap |
8239005 | [TESTBUG] test/hotspot/jtreg/runtime/StackGuardPages/TestStackGuardPages.java: exeinvoke.c: must initialize static state before calling do_overflow() |
8239081 | Shenandoah: Consolidate C1 LRB and native barriers |
8239142 | C2’s UseUniqueSubclasses optimization is broken for array accesses |
8239354 | Shenandoah: minor enhancements to traversal GC |
8239456 | vtable stub generation: assert failure (code size estimate) |
8239787 | AArch64: String.indexOf may incorrectly handle empty strings |
8239798 | SSLSocket closes socket both socket endpoints on a SocketTimeoutException |
8239852 | java/util/concurrent tests fail with -XX:+VerifyGraphEdges: assert(!VerifyGraphEdges) failed: verification should have failed |
8239868 | Shenandoah: ditch C2 node limit adjustments |
8239904 | Shenandoah: accumulated penalties should not be over 100% of capacity |
8239915 | Zero VM crashes when handling dynamic constant |
8239931 | [win][x86] vtable stub generation: assert failure (code size estimate) follow-up |
8240069 | Shenandoah: turn more flags diagnostic |
8240070 | Shenandoah: remove obsolete ShenandoahCommonGCStateLoads |
8240076 | Shenandoah: pacer should cover reset and preclean phases |
8240215 | Shenandoah: remove ShenandoahAllocationTrace |
8240216 | Shenandoah: remove ShenandoahTerminationTrace |
8240217 | Shenandoah: remove ShenandoahEvacAssist |
8240220 | IdealLoopTree::dump_head predicate printing is broken |
8240286 | [TESTBUG] Test command error in hotspot/jtreg/compiler/loopopts/superword/SumRedAbsNeg_Float.java |
8240511 | Shenandoah: parallel safepoint workers count should be ParallelGCThreads |
8240534 | Shenandoah: ditch debug safepoint timeout adjustment |
8240589 | OtherRegionsTable::_num_occupied not updated correctly |
8240629 | argfiles parsing broken for argfiles with comment cross 4096 bytes chunk |
8240671 | Shenandoah: refactor ShenandoahPhaseTimings |
8240749 | Shenandoah: refactor ShenandoahUtils |
8240750 | Shenandoah: remove leftover files and mentions of ShenandoahAllocTracker |
8240868 | Shenandoah: remove CM-with-UR piggybacking cycles |
8240948 | Shenandoah: cleanup not-forwarded-objects paths after JDK-8240868 |
8240972 | macOS codesign fail on macOS 10.13.5 or older |
8241296 | Segfault in JNIHandleBlock::oops_do() |
8241445 | Fix copyright in test/jdk/tools/launcher/ArgFileSyntax.java |
8241568 | (fs) UserPrincipalLookupService.lookupXXX failure with IOE “Operation not permitted” |
8241586 | compiler/cpuflags/TestAESIntrinsicsOnUnsupportedConfig.java fails on aarch64 |
8228867 | Fix mistakes in FX API docs |
8239109 | Update SQLite to version 3.31.1 |
8236798 | Enhance FX scripting support |