Введение

В этом документе содержится последняя информация о выпуске Axiom JDK 8u402+7.

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

Axiom JDK 8u402+7

Axiom является сертифицированным Java SE 8-совместимым дистрибутивом OpenJDK 8, который работает на серверах (Linux x86_64, Linux ARM64, 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 8.

  • Версия для Linux ARMv7 содержит Device IO API, скомпилированный для Raspberry Pi.

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

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

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

  • Ubuntu Linux 16.04, 18.04 (x86, x86_64, ARMv7, ARMv8)

  • Debian Linux 8, 9 (x86, x86_64, ARMv7, ARMv8)

  • Red Hat, Oracle Linux и CentOS 8x, 6.x, 7.x (x86, x86_64, ARMv7, ARMv8)

  • Alpine Linux 3.7+

  • SUSE Linux Enterprise 12, 16, tumbleweed (x86_64, ARMv8)

  • Apple macOS 10.11+ (x86_64, ARMv8)

  • Microsoft Windows 2019, Windows 2016, Windows 2012 R2, Windows 10, Windows 8, Windows 7 (x86, x86_64, ARMv8)

Также известно, что 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 и 4 под управлением следующих ОС:

  • Raspbian OS (armhf)

  • OpenSUSE (armv8)

Также есть успешный опыт запуска и работы на Debian (armhf) и Ubuntu (armhf).

Поставка Axiom JDK 8

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

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

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

Axiom JDK продолжает поддерживать AOT и Graal JIT. Поскольку в сборках OpenJDK 8 эти экспериментальные функции признаны устаревшими, для безошибочной компиляции нативных образов рекомендуется использовать Axiom Native Image Kit.

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

AxiomFX для Raspberry Pi

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

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

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

  • Java FX Media - не поддерживается.

  • Java FX Webkit - не поддерживается.

Для 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 8 для 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 для получения деталей о проблемах, исправленных в данной версии.

Известные проблемы

В этой версии отсутствуют известные проблемы.

Важные исправления

Следующий список содержит важные исправления для версии 8u402.

ID проблемы:  
JDK-8316606 Резюме: Добавление обработки yes/no в настройке krb5.conf
Описание: Параметр allow_weak_crypto в файле /etc/krb5.conf теперь правильно обрабатывает оба ответа: true и yes при указании, что пользователи хотят разрешить слабое шифрование.
JDK-8316635 Резюме: Удаление сертификата SECOM
Описание: Сертификат SECOM, срок действия которого истекает в сентябре 2023 г., был удален.
JDK-8317321 Резюме: Массивы следует клонировать в нескольких классах обратного вызова JAAS.
Описание: В JAAS ChoiceCallback и ConfirmationCallback массивы не клонировались при передаче в конструктор или возврате. Это позволяло внешней программе получить доступ к внутренним полям этих классов.
JDK-8319176 Резюме: Добавление сертификата Certigna Root CA - 2
Описание: Корневой сертификат Certinga добавлен в хранилище доверенных сертификатов cacerts.
JDK-8320704 Резюме: Увеличение значения по умолчанию для jdk.jar.maxSignatureFileSize, которое было слишком низким для JAR-файлов, таких как унифицированный jar-файл агента WhiteSource/Mend
Описание: Системное свойство jdk.jar.maxSignatureFileSize позволяет приложениям контролировать максимальный размер файлов подписей в подписанном JAR. Его значение по умолчанию увеличено с 8000000 байт (8 МБ) до 16000000 байт (16 МБ).
JDK-8322257 Резюме: Добавление сертификата Telia Root CA v2
Описание: Корневой сертификат Telia добавлен в хранилище доверенных сертификатов.
JDK-8322258 Резюме: Добавление сертификатов Let’s Encrypt ISRG Root X2
Описание: Добавлены новые корневые сертификаты Let’s Encrypt.
JDK-8322259 Резюме: Добавление четырех сертификатов DigiCert root certificates
Описание: В JDK 8 добавлены четыре новых корневых сертификата DigiCert.

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

Исправления в JDK

Следующий список содержит дефекты, исправленные в JDK версии 8u402.

ID проблемы Резюме
JDK-6528710 sRGB-ColorSpace to sRGB-ColorSpace Conversion
JDK-8029995 accept yes/no for boolean krb5.conf settings
JDK-8159156 [TESTBUG] ReserveMemory test is not useful on Aix.
JDK-8176509 Use pandoc for converting build readme to html
JDK-8206179 com/sun/management/OperatingSystemMXBean/GetCommittedVirtualMemorySize.java fails with Committed virtual memory size illegal value
JDK-8207404 MulticastSocket tests failing on AIX
JDK-8209115 adjust libsplashscreen linux ppc64le builds for easier libpng update
JDK-8212677 X11 default visual support for IM status window on VNC
JDK-8239365 ProcessBuilder test modifications for AIX execution
JDK-8242330 Arrays should be cloned in several JAAS Callback classes
JDK-8271838 AmazonCA.java interop test fails
JDK-8283441 C2: segmentation fault in ciMethodBlocks::make_block_at(int)
JDK-8285398 Cache the results of constraint checks
JDK-8285696 AlgorithmConstraints:permits not throwing IllegalArgumentException when ‘alg’ is null
JDK-8295685 Update Libpng to 1.6.38
JDK-8302017 Allocate BadPaddingException only if it will be thrown
JDK-8305329 [8u] Unify test libraries into single test library - step 1
JDK-8305815 Update Libpng to 1.6.39
JDK-8307837 [8u] Check step in GHA should also print errors
JDK-8308204 Enhanced certificate processing
JDK-8309088 security/infra/java/security/cert/CertPathValidator/certification/AmazonCA.java fails
JDK-8311813 C1: Uninitialized PhiResolver::_loop field
JDK-8312489 Increase jdk.jar.maxSignatureFileSize default which is too low for JARs such as WhiteSource/Mend unified agent jar
JDK-8312535 MidiSystem.getSoundbank() throws unexpected SecurityException
JDK-8314284 Enhance Nashorn performance
JDK-8314295 Enhance verification of verifier
JDK-8314307 Improve loop handling
JDK-8314468 Improve Compiler loops
JDK-8315135 Memory leak in the native implementation of Pack200.Unpacker.unpack()
JDK-8315280 Bump update version of OpenJDK: 8u402
JDK-8315506 C99 compatibility issue in LinuxNativeDispatcher
JDK-8316976 Improve signature handling
JDK-8317291 Missing null check for nmethod::is_native_method()
JDK-8317373 Add Telia Root CA v2
JDK-8317374 Add Let’s Encrypt ISRG Root X2
JDK-8317547 Enhance TLS connection support
JDK-8318759 Add four DigiCert root certificates
JDK-8319187 Add three eMudhra emSign roots
JDK-8319405 [s390] [jdk8] Increase javac default stack size for s390x zero
JDK-8320597 RSA signature verification fails on signed data that does not encode params correctly

Исправления в JFX

Следующий список содержит дефекты, исправленные в JFX версии 8u402.

ID проблемы Резюме
JDK-8284544 [Win] Name-Property of Spinner cannot be changed
JDK-8297067 Update Gradle to 7.6
JDK-8306918 WebView: Update Public Suffix List to 88467c9
JDK-8310681 Update WebKit to 616.1
JDK-8311097 Synchron XMLHttpRequest not receiving data
JDK-8313048 Better Glyph handling
JDK-8313056 General enhancements of Glass
JDK-8313105 Improved media framing
JDK-8313177 Web Workers timeout with Webkit 616.1
JDK-8313181 Enabling modern media controls on webkit 616.1 does not load button images on HTML5 video Element
JDK-8313321 Set minimum python version in WebKit cmake scripts
JDK-8313711 Cherry-pick WebKit 616.1 stabilization fixes
JDK-8313856 Replace VLA with malloc in pango
JDK-8313900 Possible NULL pointer access in NativeAudioSpectrum and NativeVideoBuffer
JDK-8314212 Crash when loading cnn.com in WebView
JDK-8315074 Possible null pointer access in native glass
JDK-8315657 Application window not activated in macOS 14 Sonoma
JDK-8315870 icu fails to compile with Visual Studio 2022 17.6.5
JDK-8315958 Missing range checks in GlassPasteboard
JDK-8317508 Provide media support for libavcodec version 60
JDK-8318708 FX: Update copyright year in docs, readme files to 2024
JDK-8319066 Application window not always activated in macOS 14 Sonoma
Обратно на страницу загрузки
Команда 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