Was sind JDK, Oracle JDK, OpenJDK, Java SE?

Ich weiß nichts über JDK oder Java SE

2017/9 wurden Änderungen im Java-Support-System und im Release-Zyklus von Oracle angekündigt, und verschiedene Gespräche über OpenJDK und Oracle JDK haben begonnen, sind jedoch nicht organisiert. Hier möchte ich die Begriffe aussortieren, die die Kernimplementierung von Java darstellen. Wenn Sie einen langen Satz haben, sollten Sie sich nur die Zusammenfassung ansehen.

Was ist Java überhaupt?

Eine klare Definition des Begriffs Java ist schwierig, aber eines ist sicher: Es ist eine Marke von Oracle. "Java", das als Konversation verwendet wird, wird unter dem Wort "Java" gesprochen, z. B. Software-Implementierungs- und Entwicklungsumgebung, die sich auf die Java SE-Spezifikation, Bibliotheken, deren Entwickler / Organisationen, Communitys und Trends bei den verwendeten Produkten konzentriert. Ich denke, es enthält eine Vielzahl von technischen Fragen. Ich denke, dies gilt im Allgemeinen für Programmiersprachen wie Ruby und Scala.

Was ist Java SE?

Java SE ist eine Sammlung von Spezifikationen. Typische Beispiele sind die Java-Sprachspezifikation, die Java Virtual Machine-Spezifikation und die Java API-Spezifikation. Als Merkmal der API ist es schwierig, die Spezifikation und die Implementierung zu trennen, und es handelt sich nicht um eine Spezifikation, sondern die Bewegung wird in JavaDoc so detailliert wie möglich erläutert. Jede Spezifikation von Java SE wird von einem Prozess namens JCP festgelegt. Andere Unternehmen, Organisationen und Einzelpersonen als Oracle nehmen ebenfalls an JCP teil. Anschließend stellt Oracle ein TCK (Technology Compatibility Kit) zur Verfügung, mit dem überprüft wird, ob die Java SE-Implementierung diesen Spezifikationen entspricht. Wenn Sie dieses TCK durchlaufen, wird die Implementierung als Java SE-kompatibel erkannt. Ich werde. Um genau zu sein, existieren Java 8 und Java 10 nicht, und obwohl sie Abkürzungen für Java SE 8 und Java SE 10 sind, werden sie in der Praxis häufig verwendet. Insbesondere in der aktuellen Situation, in der Java EE nach Jakarta EE umgezogen ist und Java ME kaum in der Tabelle aufgeführt ist, hat die Notwendigkeit, es wie Java SE 11 zu schreiben, abgenommen, und das Schreiben wie Java 11 hat zugenommen. Ich glaube, es ist.

Auch in diesem Sinne sind die Ausdrücke "Verschwinden der Java SE-freien Version" und "Bezahltes Java SE" nicht sehr korrekt, aber ich denke, dass Oracle selbst das Wort Java SE vage verwendet. Dies kann jedoch als "Java SE auf der Oracle-Site ist JDK" interpretiert werden. Wenn also eine andere Person als Oracle auf die Java SE von Oracle verweist, wird sie wie "Oracle Java SE" "verschwunden". Ich denke, es ist genauer, etwas wie "Oracle Java SE Free Edition" oder "Bezahlte Oracle Java SE" zu verwenden.

Was ist OpenJDK?

Ein Open-Source-Projekt, das Software und verwandte Produkte auf Basis von Java SE entwickelt und einen Ort zum Speichern des Quellcodes für dieses Produkt bietet. Zu den OpenJDK-Produkten gehören Java-VMs, die gemäß den Spezifikationen der Java Virtual Machine arbeiten, Java-Compiler, die in einer auf den Java-Sprachspezifikationen basierenden Syntax geschriebenen Programmcode in Bytecodes konvertieren, die auf Java Virtual Machines ausgeführt werden, und Java VMs. Es enthält API-Implementierungen, die funktionieren und auf der Java-API-Spezifikation basieren, sowie Ausführungs- und Entwicklungsumgebungen wie Profiler und Debugger. Die OpenJDK Java VM wird als HotSpot VM bezeichnet.

Tatsächlich bieten wir keine Binärdateien an. Sie können die Binärdateien unter jdk.java.net herunterladen, aber java.net ist die Website von Oracle, auf der Sie OpenJDK-Binärdateien herunterladen können, die Oracle erstellt und getestet hat. Andere wie Adopt OpenJDK, Azul System und Red Hat stellen ihre eigenen Build-Binärdateien bereit. Google hat eine OpenJDK-Binärdatei für seinen Cloud-Dienst.

Was ist JDK?

JDK ist auch eine Marke von Oracle und steht für Java Development Kit. Der Produktname des von Oracle bereitgestellten Java SE-Entwicklungstoolkits. Es ist im Grunde als Open JDK entwickelt.

Da es sich um ein Development Kit handelt, enthält es Tools, die für die Entwicklung erforderlich sind, z. B. einen Compiler. Was nur zur Laufzeit benötigt wurde, wurde als JRE (Java Runtime Environment) verteilt, ist aber seit Java 9 veraltet.

Was ist Oracle JDK?

Wenn wir einfach JDK sagen, ist es schwer zu sagen, ob es sich um ein Open JDK oder ein Oracle JDK handelt. Daher heißt es jetzt Oracle JDK, um es zu unterscheiden. Das Oracle JDK war die OpenJDK-Implementierung mit kommerziellen Funktionen wie Flight Recorder und Mission Control sowie Desktop-Funktionen wie JavaFX und Java Web Start. Kommerzielle Funktionen wie Flight Recorder und Mission Control werden jedoch an OpenJDK gespendet, und JavaFX und Java Web Start werden nicht mehr mit Oracle JDK gebündelt, sodass OpenJDK und Oracle JDK ab Java 11 funktional identisch sind. Es ist geworden. Es ist also nicht so, dass es keinen Unterschied in den Binärdateien gibt. Das Oracle JDK wird mit einem Installationsprogramm geliefert. Nachdem es keine Update-Versionen für OpenJDK gibt, werden die Update-Versionen mit eigenen Patches veröffentlicht. Natürlich ist auch die Lizenz anders.

Zusammenfassung

Java = Ökosystem Java SE = Spezifikation OpenJDK = Open Source-Projekt, das Java SE implementiert Oracle JDK = OpenJDK, erstellt von Oracle + Installer

OpenJDK auf jdk.java.net = OpenJDK von Oracle erstellt AdoptOpenJDK OpenJDK = OpenJDK, erstellt von der AdoptOpenJDK-Community Zulu = OpenJDK + Installer von Azul IBM Java SDK = OpenJDK, erstellt vom IBM --HotSpot VM + OpenJ9 + Installer

Recommended Posts

Was sind JDK, Oracle JDK, OpenJDK, Java SE?
Was sind Java-Metriken? _Memo_20200818
Erhaltener Oracle Certified Java Programmer, Gold SE 8
[Java] Was sind Überschreibungen und Überladungen?
Oracle Certified Java Silver SE 8 Passing-Erfahrung
[Talend] Wechsel von Oracle JDK zu Open JDK
Was sind die aktualisierten Funktionen von Java 13
Funktionen in Oracle JDK 8, jedoch nicht in Open JDK
Was ich getan habe, um den Oracle Certified Java Programmer, Silver SE 8, zu erhalten
Übersicht über Java SE
Was ist java
Oracle Java Day 2017
Java SE 7 Hinweis
Was ist Java <>?
Was ist java
[Java] So wechseln Sie von Open JDK zu Oracle JDK
Java SE-Abonnement
Der ehemalige Literaturarzt erwarb Oracle Java Bronze SE 7/8
Oracle Certified Java Programmer, Erfahrung mit Silver SE 8-Zertifizierungsprüfungen
Einrichtungsverfahren für das Java SE Development Kit (JDK) unter Windows
Geschichte des Bestehens von Java Silver SE8 (Oracle Certified Java Programmer, Silver SE 8)
Erlangte Oracle Certified Java Programmer Silver SE 8 Prüfungserfahrung
[Java Silver] Was sind Klassenvariablen, Instanzvariablen und lokale Variablen?
Java SE8 Silver bestanden
Oracle Java Bronze erhalten
Was ist Java-Kapselung?
[Java] Java SE 8 Silver Note
Was ist Java-Technologie?
Was ist Java API-Java?
[Java] Was ist flatMap?
[Java] Was ist ArrayList?
Stackdriver-Protokollierungsprotokolle sind in GAE SE für Java 8 falsch ausgerichtet
Oracle Java Trends 2018 = Kurzzusammenfassung = (Mit Blick auf die Oracle JDK 11-Version)
Was Sie gelernt haben, als Sie Java SE 8 Silber und Gold erworben haben