Примечания к релизу Liberica JDK 15.0.2+10

Данный релиз соответствует OpenJDK 15.0.2+7, номер версии Liberica JDK - 15.

Liberica JDK 15.0.2+10

Liberica является сертифицированным 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). Liberica 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, Mac, Linux x86_64, Linux x86 и Linux ARMv7 содержат OpenJFX 15.
  • Версия для Linux ARMv7 содержит Device IO API, скомпилированный для Raspberry Pi.

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

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

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

  • Ubuntu Linux 16.04, 18.04 (x86, x86_64, ARMv8)
  • Debian Linux 8, 9 (x86, x86_64, ARMv8)
  • Red Hat, Oracle Linux, CentOS 7.x (x86, x86_64, ARMv8)
  • Alpine Linux 3.7+
  • SUSE Linux Enterprise 12, 15, tumbleweed (x86_64, ARMv8)
  • Apple macOS 10.11+
  • Microsoft Windows 2019, Windows 2016, Windows 2012 R2, Windows 10, Windows 8, Windows 7 (32 bit, 64 bit)

Также известно, Liberica JDK работает с некоторыми другими дистрибутивами Linux и версиями Windows.

Примечание: Минимальная поддерживаемая версия ядра Linux - 2.6.18, версия GLIBC - 2.6. LibericaFX работает на всех поддерживаемых версиях Ubuntu, семействе Red Hat Linux начиная с версии 7.x и SUSE с бэкэндом GTK2.

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

Liberica is tested and certified on Raspberry Pi 2, 3 and 4 running the following OSes:

  • Raspbian OS (armhf)
  • OpenSUSE (armv8)

It is also known to work with Debian (armhf) and Ubuntu (armhf).

Поставка Liberica JDK 15.0.1

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

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

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

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

LibericaFX

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

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

* - за исключением сборок для armhf.

Для armhf работают следующие графические конвейеры: EGL, SW (direct framebuffer) и GTK. По умолчанию Liberica пытается использовать конвейер EGL, который требует наличия библиотек EGL. Если они не найдены, реализация возвращается к программному обеспечению.

Используйте следующие параметры командной строки, чтобы указать конвейер рендеринга:

  • -Dprism.order=sw - программный конвейер рендеринга. *
  • -Dprism.order=es2 - EGL-конвейер и аппаратное ускорение. *
  • -Djavafx.platform=gtk, если вы хотите запустить приложение LibericaFX, используя Liberica из X11.

* Не поддерживается на Raspberry Pi 4.

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

Device IO API для Raspberry Pi

Liberica JDK 15 для armhf поставляется со встроенным модулем реализации API ввода-вывода (DIO) устройства OpenJDK. DIO предоставляет Java API для доступа к выводам Raspberry PI GPIO и для связи с периферийными устройствами:

  • Универсальный ввод / вывод (GPIO).
  • Межинтегральная шина (I2C), последовательный интерфейс (SPI).
  • Универсальный асинхронный приемник / передатчик (UART).

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

Известные особенности

LibericaFX и EGL на ОС Raspbian

С 2017 года в Raspbian OS изменилось расположение бибилитек libEGL.so и libGLESv2.so для чипа Broadcom. Если вы хотите использовать аппаратное ускорение EGL, доступное в видеодрайверах Broadcom в LibericaFX, при работе в Raspbian OS, выполните следующую команду:

cd /opt/vc/lib
sudo ln -s libbrcmEGL.so libEGL.so
sudo ln -s libbrcmGLESv2.so libGLESv2.so

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

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

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

Issue Description
8197981 Missing return statement in __sync_val_compare_and_swap_8
8232114 JVM crashed at imjpapi.dll in native code
8239105 Add exception for expiring Digicert root certificates to VerifyCACerts test
8247251 Assert ‘(_pcs_length == 0 || last_pc()->pc_offset() < pc_offset) failed: must specify a new, larger pc offset’ failure
8247619 Improve Direct Buffering of Characters
8247741 Test test/hotspot/jtreg/runtime/7162488/TestUnrecognizedVmOption.java fails when -XX:+IgnoreUnrecognizedVMOptions is set
8248411 [aarch64] Insufficient error handling when CodeBuffer is exhausted
8248596 [TESTBUG] compiler/loopopts/PartialPeelingUnswitch.java times out with Graal enabled
8248667 Need support for building native libraries located in the test/lib directory
8249165 Remove unneeded nops introduced by 8234160 changes
8249176 Update GlobalSignR6CA test certificates
8249183 JVM crash in “AwtFrame::WmSize” method
8249192 MonitorInfo stores raw oops across safepoints
8249217 Unexpected StackOverflowError in “process reaper” thread still happens
8249781 AArch64: AOT compiled code crashes if C2 allocates r27
8250257 Bump release strings for JDK 15.0.2
8250928 JFR: Improve hash algorithm for stack traces
8251397 NPE on ClassValue.ClassValueMap.cacheArray
8251458 Parse::do_lookupswitch fails with “assert(_cnt >= 0) failed”
8252120 compiler/oracle/TestCompileCommand.java misspells “occured”
8252292 8240795 may cause anti-dependence to be missed
8252359 HotSpot Not Identifying it is Running in a Container
8252367 Undo JDK-8245000: Windows GDI functions don’t support large pages
8252368 Undo JDK-8245002: Windows GDI functions don’t support NUMA interleaving
8252470 java/awt/dnd/DisposeFrameOnDragCrash/DisposeFrameOnDragTest.java fails on Windows
8252660 Shenandoah: support manageable SoftMaxHeapSize option
8252754 Hash code calculation of JfrStackTrace is inconsistent
8253191 C2: Masked byte comparisons with large masks produce wrong result on x86
8253222 Shenandoah: unused AlwaysTrueClosure after JDK-8246591
8253224 Shenandoah: ShenandoahStrDedupQueue destructor calls virtual num_queues()
8253226 Shenandoah: remove unimplemented ShenandoahStrDedupQueue::verify
8253284 Zero OrderAccess barrier mappings are incorrect
8253375 OSX build fails with Xcode 12.0 (12A7209)
8253566 clazz.isAssignableFrom will return false for interface implementors
8253714 [cgroups v2] Soft memory limit incorrectly using memory.high
8253727 [cgroups v2] Memory and swap limits reported incorrectly
8253756 C2 CompilerThread0 crash in Node::add_req(Node*)
8253778 ShenandoahSafepoint::is_at_shenandoah_safepoint should not access VMThread state from other threads
8253791 Issue with useAppleColor check in CSystemColors.m
8253960 Memory leak in Java_java_lang_ClassLoader_defineClass0()
8254081 java/security/cert/PolicyNode/GetPolicyQualifiers.java fails due to an expired certificate
8254144 Non-x86 Zero builds fail with return-type warning in os_linux_zero.cpp
8254166 Zero: return-type warning in zeroInterpreter_zero.cpp
8254177 (tz) Upgrade time-zone data to tzdata2020b
8254319 Shenandoah: Interpreter native-LRB needs to activate during HAS_FORWARDED
8254320 Shenandoah: C2 native LRB should activate for non-cset objects
8254560 Shenandoah: Concurrent Strong Roots logging is incorrect
8254790 SIGSEGV in string_indexof_char and stringL_indexof_char intrinsics
8254854 [cgroups v1] Metric limits not properly detected on some join controller combinations
8254982 (tz) Upgrade time-zone data to tzdata2020c
8255065 Zero: accessor_entry misses the IRIW case
8255067 Restore Copyright line in file modified by 8253191
8255226 (tz) Upgrade time-zone data to tzdata2020d
8255599 Change jdk 15.0.2 milestone to fcs for build b04
8255603 Memory/Performance regression after JDK-8210985
8256051 nmethod_entry_barrier stub miscalculates xmm spill size on x86_32
8256427 Test com/sun/jndi/dns/ConfigTests/PortUnreachable.java does not work on AIX
8256618 Zero: Linux x86_32 build still fails
8257181 s390x builds are very noisy with gc-sections messages
8257641 Shenandoah: Query is_at_shenandoah_safepoint() from control thread should return false
8257701 Shenandoah: objArrayKlass metadata is not marked with chunked arrays
8257897 Fix webkit build for XCode 12
Обратно на страницу загрузки
BellSoft LTD [email protected] BellSoft LTD logo Liberica Committed to Freedom 199 Obvodnogo Kanala Emb. 190020 St. Petersburg RU +7 812-336-35-67 BellSoft LTD 199 Obvodnogo Kanala Emb. 190020 St. Petersburg RU +7 812-336-35-67 BellSoft LTD 111 North Market Street, Suite 300 CA 95113 San Jose US +1 702 213-59-59