Java-Entwicklungskit (JDK)-Distributionen oder Java-Laufzeitumgebung (JRE)-Distributionen bieten die notwendigen Ressourcen und Prozesse, um Java-Anwendungen auf einem zugrunde liegenden Betriebssystem auszuführen. Diese Elemente umfassen alle erforderlichen Java SE (Standard Edition)-Klassen und Code-Ausführungsumgebungen. JDK-/JRE-Distributionen beinhalten auch eine Java Virtual Machine (JVM), die die plattformübergreifende Portabilität von Java ermöglicht und es erlaubt, dass der kompilierte Code von Java kleiner ist. Java ist eine beliebte Programmiersprache, und das JDK/JRE kann als Kommunikationsschicht zwischen geschriebenen Java-Programmen und Betriebssystemen betrachtet werden. Alle Distributionen des JDK stammen von OpenJDK ab, der Open-Source-Implementierung von Java SE, die gemeinsam von den großen Anbietern in diesem Bereich entwickelt und gepflegt wird.
Entwicklungsteams verwenden ihre gewählte Distribution des JDK, um Zugriff auf Klassen (vorgeschriebener Code mit Funktionalität, die über Kurzbefehle aufgerufen werden kann) zu erhalten, um Java-Code zu schreiben und Anwendungen zu entwickeln, um ihren geschriebenen Code einschließlich Fehler- und Sicherheitsbehebung zu überprüfen und zu validieren und um ihren Code als Anwendung auszuführen. Damit JDK- oder JRE-Distributionen als kompatibel mit Java SE gelten, müssen sie den Test-Suite des Technologie-Kompatibilitätskits (TCK) bestehen. Das Java TCK, auch als JCK bezeichnet, wird durch die OpenJDK Community TCK License Agreement (OCTLA) Organisationen zur Verfügung gestellt, die in der OpenJDK Community arbeiten und dazu beitragen. Darüber hinaus bieten einige Distributionen (oft als „Downstream“-Distributionen bezeichnet) hoch differenzierte Vorteile wie deutlich verbesserte Anwendungserfahrungen und reduzierte Infrastrukturkosten. Diese können verbesserte Leistung (bessere Speicherbereinigung, schnellere Aufwärmzeit usw.) und Cloud-native Fähigkeiten umfassen.
Um sich für die Aufnahme in die Kategorie der Java Development Kit (JDK)-Distributionen zu qualifizieren, muss ein Produkt:
Eine Java Virtual Machine (JVM) enthalten
Die Java SE API (Application Programming Interface) - eine Reihe interner Klassen zum Erstellen von Java-Anwendungen - enthalten
Die Pakete und Werkzeuge für die Entwicklung, das Testen und die Überwachung von Java-Anwendungen bereitstellen