Aria

Różnice między Oracle JDK i OpenJDK (Java 16)

Oracle JDK 16.0.1 v. OpenJDK 16.0.1

Oracle dokłada wszelkich starań, aby binaria Oracle JDK i OpenJDK były tak podobne do siebie jak to możliwe. Tym niemniej istnieje pewna liczba różnic, które aktualnie są następujące:

Obsługiwane systemy operacyjne

Oracle JDK oferuje (Rys. 306):

Pakiety instalacyjne Oracle JDK
Rys. 306. Pakiety instalacyjne Oracle JDK

OpenJDK oferuje (Rys. 307):

 Binaria OpenJDK

Rys. 307. Binaria OpenJDK

Instalatory

Jak widzimy Oracle JDK oferuje instalatory dla poszczególnych systemów operacyjnych (msi, rpm, deb, itd.). Instalator zapewnia obsługę aktualizacji (update), czasami wykonuje pewne zadania konfiguracyjne (np. ustawienie zmiennej JAVA_HOME w Windows), ustanawia powiązania narzędzi z rozszerzeniami (np. zapewnia użycie narzędzia java do uruchamiania plików archiwów .jar).

OpenJDK dostarczany jest w postaci skompresowanego pliku archiwum (.tar.gz lub .zip). Po rozpakowaniu otrzymujemy folder zawierający binaria.

Logging API

Użycie Logging API jest możliwe jedynie w Oracle JDK.

Dostawcy kryptografii

OpenJDK pozwala na użycie nie podpisanych dostawców kryptografii (crypto providers).

Oracle JDK wymaga, aby dostawcy kryptografii podpisywali się certyfikatem JCE dostarczonym przez Oracle (Java Cryptography Extension).

java –version

Wynik wykonania polecenia jest odmienny.

Oracle JDK (Rys. 304):

Wersja Oracle JDK
Rys. 304 Wersja Oracle JDK

Open JDK (Rys. 305):

Wersja OpenJDK
Rys. 305. Wersja OpenJDK

Licencje

Oracle JDK jest wydawane z licencją na warunkach OTN.

OpenJDK jest wydawane z licencją GPLv2wCP na warunkach GPL.

Biblioteka FreeType

Oracle JDK dystrybuuje FreeType z licencją FreeType.

OpenJDK dystrybuuje FreeType z licencją GPLv2.

Z tego powodu zawartość pliku \legal\java.desktop\freetype.md może być różna w OpenJDK i Oracle JDK.

Zastrzeżenia licencyjne w kodzie źródłowym

Kod źródłowy Oracle zawiera „ORACLE PROPIETARY/CONFIDENTIAL. Use is subject to license terms.”

Kod źródłowy OpenJDK zawiera informacje o licencji GPL.

Ikony

Ikoną Oracle JDK jest filiżanka parującej kawy (Rys. 131).

Ikona Oracle JDK
Rys. 131. Ikona Oracle JDK

Ikoną OpenJDK jest Duke (Rys. 132).

Ikona Open JDK
Rys. 132 Ikona Open JDK

Specyfikacje

Do dokumentacji Oracle JDK dołączone są specyfikacje:

  • jar
  • jdwp
  • jni
  • jpda
  • rmi
  • security
  • serialization

Dokumentacja OpenJDK nie zawiera tych specyfikacji.