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

Данный релиз соответствует OpenJDK 11.0.20+8, номер версии Axiom JDK - 11

Axiom JDK 11.0.20+8

Axiom является сертифицированным Java SE 11-совместимым дистрибутивом OpenJDK 11, который работает на серверах (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, Windows ARMv8, Mac, Linux x86_64, Linux x86 и Linux ARMv7 содержат OpenJFX 11.
  • Версия для Linux ARMv7 содержит Device IO API, скомпилированный для Raspberry Pi.

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

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

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

  • Ubuntu Linux 16.04, 18.04 (x86, x86_64, ARMv8)
  • Debian Linux 8, 9 (x86, x86_64, ARMv8)
  • Red Hat, Oracle Linux, CentOS 6.x, 7.x (x86, x86_64, ARMv8)
  • Alpine Linux 3.7+
  • SUSE Linux Enterprise 12, 15, tumbleweed (x86_64, ARMv8)
  • Apple macOS 10.11+
  • Solaris 11.1+ (SPARC, x64)
  • 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 протестирована и сертифицирована для Raspberry Pi 2 & 3 для следующих операционных систем:

  * Raspbian OS (armhf)   * OpenSUSE (armv8)

Также Axiom JDK работает на Debian (armhf) и Ubuntu (armhf).

Поставка Axiom JDK 11

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

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

С появлением 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 11 поставляется в комплекте со сборкой платформы 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.

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

Device IO API для Raspberry Pi

Axiom JDK 11 для 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

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

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

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

Issue Description
8308682 Enhance AES performance
8305312 Enhanced path handling
8304468 Better array usages
8303376 Better launching of JDI
8302483 Enhance ZIP performance
8302475 Enhance HTTP client file downloading
8300596 Enhance Jar Signature validation
8300285 Enhance TLS data handling
8298676 Enhanced Look and Feel
8311465 [11u] Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 11.0.20
8303465 KeyStore of type KeychainStore, provider Apple does not show all trusted certificates
8309476 [11u] tools/jmod/hashes/HashesOrderTest.java fails intermittently
8304291 [AIX] Broken build after JDK-8301998
8308884 [17u/11u] Backout JDK-8297951
8287876 The recently de-problemlisted TestTitledBorderLeak test is unstable
8269746 C2: assert(!in->is_CFG()) failed: CFG Node with no controlling input?
8246383 NullPointerException in JceSecurity.getVerificationResult when using Entrust provider
8300079 SIGSEGV in LibraryCallKit::inline_string_copy due to constant NULL src argument
8299259 C2: Div/Mod nodes without zero check could be split through iv phi of loop resulting in SIGFPE
8307134 Add GTS root CAs
8287007 [cgroups] Consistently use stringStream throughout parsing code
8301119 Support for GB18030-2022
8275233 Incorrect line number reported in exception stack trace thrown from a lambda expression
8278434 timeouts in test java/time/test/java/time/format/TestZoneTextPrinterParser.java
8287246 DSAKeyValue should check for missing params instead of relying on KeyFactory provider
8275735 [linux] Remove deprecated Metrics api (kernel memory limit)
8304760 Add 2 Microsoft TLS roots
8295974 jni_FatalError and Xcheck:jni warnings should print the native stack when there are no Java frames
8304350 Font.getStringBounds calculates wrong width for TextAttribute.TRACKING other than 0.0
8305975 Add TWCA Global Root CA
8243936 NonWriteable system properties are actually writeable
8282201 Consider removal of expiry check in VerifyCACerts.java test
8308006 Missing NMT memory tagging in CMS
8303822 gtestMain should give more helpful output
8307811 [TEST] compilation of TimeoutInErrorHandlingTest fails after backport of JDK-8303861
8214807 Improve handling of very old class files
8285497 Add system property for Java SE specification maintenance version
8282467 add extra diagnostics for JDK-8268184
8303576 addIdentitiesToKeystore in KeystoreImpl.m needs CFRelease call in early potential CHECK_NULL return
8303354 addCertificatesToKeystore in KeystoreImpl.m needs CFRelease call in early potential CHECK_NULL return
8305682 Update the javadoc in the Character class to state support for GB 18030-2022 Implementation Level 2
8301401 Allow additional characters for GB18030-2022 support
8301998 Update HarfBuzz to 7.0.1
8304295 harfbuzz build fails with GCC 7 after JDK-8301998
8296934 Write a test to verify whether Undecorated Frame can be iconified or not
8292206 TestCgroupMetrics.java fails as getMemoryUsage() is lower than expected
8282077 PKCS11 provider C_sign() impl should handle CKR_BUFFER_TOO_SMALL error
8209880 tzdb.dat is not reproducibly built
8248701 On Windows generated modules-deps.gmk can contain backslash-r (CR) characters
8257856 Make ClassFileVersionsTest.java robust to JDK version updates
8276880 Remove java/lang/RuntimeTests/exec/ExecWithDir as unnecessary
8303476 Add the runtime version in the release file of a JDK image
8303861 Error handling step timeouts should never be blocked by OnError and others
8305400 ISO 4217 Amendment 175 Update
8297450 ScaledTextFieldBorderTest.java fails when run with -show parameter
8287897 Augment src/jdk.internal.le/share/legal/jline.md with information on 4th party dependencies
8286398 Address possibly lossy conversions in jdk.internal.le
8298887 On the latest macOS+XCode the Robot API may report wrong colors
8303564 C2: “Bad graph detected in build_loop_late” after a CMove is wrongly split thru phi
8283059 Uninitialized warning in check_code.c with GCC 11.2
8289735 UTIL_LOOKUP_PROGS fails on pathes with space
8306976 UTIL_REQUIRE_SPECIAL warning on grep
8268558 [TESTBUG] Case 2 in TestP11KeyFactoryGetRSAKeySpec is skipped
8306768 CodeCache Analytics reports wrong threshold
8306664 GHA: Update MSVC version to latest stepping
8306658 GHA: MSVC installation could be optional since it might already be pre-installed
8213531 Test javax/swing/border/TestTitledBorderLeak.java fails
8215015 [TESTBUG] remove unneeded -Xfuture option from tests
8214459 NSS source should be removed
8171426 java/lang/ProcessBuilder/Basic.java failed with Stream closed
8187522 test/sun/net/ftp/FtpURLConnectionLeak.java timed out
8209546 Make sun/security/tools/keytool/autotest.sh to support macosx
8209167 Use CLDR’s time zone mappings for Windows
8306543 GHA: MSVC installation is failing
8304134 jib bootstrapper fails to quote filename when checking download filetype
8303482 Update LCMS to 2.15
8302151 BMPImageReader throws an exception reading BMP images
8178806 Better exception logging in crypto code
8277775 Fixup bugids in RemoveDropTargetCrashTest.java - add 4357905
8305113 (tz) Update Timezone Data to 2023c
8297000 [jib] Add more friendly warning for proxy issues
8294906 Memory leak in PKCS11 NSS TLS server
8300490 Spaces in name of MacOS Code Signing Identity are not correctly handled after JDK-8293550
8305711 Arm: C2 always enters slowpath for monitorexit
8305721 add make compile-commands artifacts to .gitignore
8274864 Remove Amman/Cairo hacks in ZoneInfoFile
8305528 [11u] Backport of JDK-8259530 breaks build with JDK10 bootstrap VM
8259530 Generated docs contain MIT/GPL-licenced works without reproducing the licence
8291638 Keep-Alive timeout of 0 should close connection immediately
8275721 Name of UTC timezone in a locale changes depending on previous code
8291226 Create Test Cases to cover scenarios for JDK-8278067
8291637 HttpClient default keep alive timeout not followed if server sends invalid value
8303102 jcmd: ManagementAgent.status truncates the text longer than O_BUFLEN
8227257 javax/swing/JFileChooser/4847375/bug4847375.java fails with AssertionError
8301170 perfMemory_windows.cpp add free_security_attr to early returns
8215575 C2 crash: assert(get_instanceKlass()->is_loaded()) failed: must be at least loaded
8300205 Swing test bug8078268 make latch timeout configurable
8302791 Add specific ClassLoader object to Proxy IllegalArgumentException message
8232853 AuthenticationFilter.Cache::remove may throw ConcurrentModificationException
8265486 ProblemList javax/sound/midi/Sequencer/Recording.java on macosx-aarch64
8294548 Problem list SA core file tests on macosx-x64 due to JDK-8294316
8263420 Incorrect function name in NSAccessibilityStaticText native peer implementation
8264304 Create implementation for NSAccessibilityToolbar protocol peer
8264290 Create implementation for NSAccessibilityComponentGroup protocol peer
8220093 Change to GCC 8.2 for building on Linux at Oracle
8303937 Corrupted heap dumps due to missing retries for os::write()
8303440 The “ZonedDateTime.parse” may not accept the “UTC+XX” zone id
8293232 Fix race condition in pkcs11 SessionManager
8282600 SSLSocketImpl should not use user_canceled workaround when not necessary
8280703 CipherCore.doFinal(…) causes potentially massive byte[] allocations during decryption
8289301 P11Cipher should not throw out of bounds exception during padding
8293815 P11PSSSignature.engineUpdate should not print debug messages during normal operation
8303432 Bump update version for OpenJDK: jdk-11.0.20
8301009 Update libxml2 to 2.10.3
8304751 Improve pipeline layout
8306115 Update libxml2 to 2.10.4
8307641 Change JavaFX release version to 11.0.20 in jfx11u
Обратно на страницу загрузки
Команда 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