Was ist der genaue Unterschied zwischen OpenJDK und JavaSE?

1 Antwort

Vom Fragesteller als hilfreich ausgezeichnet

Die Java SE ist eine Spezifikation sämtlicher APIs, die zur Java-Plattform gehören (also all die Packages, die du in der API Referenz nachschlagen kannst). Das OpenJDK wiederum stellt eine Implementation dieser APIs.

Du könntest selbst auf Grundlage der Schnittstellendefinitionen eine Java-Implementation vornehmen und dazu dann ein JDK/JRE bauen. Später kann mit einem Tool gegengeprüft werden, ob dein Build dem SE entspricht. Da Oracle über die Lizenzen von Java verfügt, dürfen aber nur sie entscheiden, ob ein Build sich tatsächlich als gültige Java SE bezeichnen darf. Alle anderen Implementationen sind offiziell höchstens Java SE-kompatibel.


Morgoth364 
Fragesteller
 03.01.2022, 20:15

Also soll ich weiterhin das OpenJDK benutzen?

0
regex9  03.01.2022, 20:30
@Morgoth364

Grundsätzlich bauen alle JDK Builds auf dem OpenJDK Repository auf. Einige erweitern die API noch um Funktionen/Tools und bieten eigene Lizenz-/Supportmodelle an (z.B. Zulu, Bellsoft oder Oracle; ich hatte dazu hier schon einmal etwas geschrieben), doch das lohnt sich eher nur für kommerzielle Entwicklungen. Kostenlose Anbieter wie Adoptium, Corretto, OpenJDK, ... sie alle bieten eine gültige Java SE und das ist gerade für Hobbyentwickler vollkommen ausreichend. Welches JDK du als Entwickler aber letzten Endes tatsächlich nutzen willst, sei dir überlassen.

1