JDK oder JRE: Was sollte ein Anfänger wählen? Wir klären es ein für alle Mal
Wenn Sie gerade erst Ihre Reise in die Welt von Java beginnen, werden Sie früher oder später auf die Frage stoßen: „Was genau muss ich herunterladen? JDK, JRE, oder reicht vielleicht eine JVM?“ Diese Frage ist so beliebt, dass sie auf Stack Overflow tausende Aufrufe und Dutzende Antworten gesammelt hat. Und das ist kein Zufall – die Verwirrung zwischen diesen Abkürzungen kann Ihr erstes Projekt bereits am Start ruinieren.
Stellen Sie sich Java wie eine Küche vor. Die JRE ist ein fertiges Restaurant, in das man kommen und essen kann. Das JDK hingegen ist die Küche selbst mit Herden, Messern und Kochbüchern, in der man alles zubereiten kann. Spüren Sie den Unterschied? Lassen Sie uns alles Schritt für Schritt aufschlüsseln, damit Sie nie wieder zweifeln, was Sie herunterladen sollen.
Das Wichtigste in Kürze: JVM, JRE, JDK
Bevor wir in die Details eintauchen, lassen Sie uns die grundlegende Hierarchie verstehen. Viele Anfänger denken, dass dies drei verschiedene Produkte sind. Tatsächlich handelt es sich um eine russische Puppe, bei der eine Komponente in der anderen steckt.
- JVM (Java Virtual Machine) – das Herzstück. Eine virtuelle Maschine, die den Bytecode ausführt. Für sich allein ist sie nutzlos, wie ein Motor ohne Auto.
- JRE (Java Runtime Environment) – das ist die JVM + eine Reihe von Standardbibliotheken (z. B.
java.lang,java.util). Dies ist die Umgebung zum Ausführen fertiger Java-Programme. - JDK (Java Development Kit) – das ist die JRE + Entwicklerwerkzeuge: der Compiler
javac, der Debuggerjdb, das Dienstprogrammjavadocund andere.
Eine einfache Formel, die Sie sich merken sollten:
JDK = JRE + EntwicklungswerkzeugeJRE = JVM + BibliothekenWenn Sie jetzt auf der Oracle-Website die Zeile „Download JDK“ sehen, wissen Sie, dass darin alles Notwendige sowohl zum Ausführen als auch zum Schreiben von Code enthalten ist.
Wozu braucht man JRE, wenn es JDK gibt?
Eine gute Frage. Wenn das JDK die JRE enthält, warum sollte man überhaupt „nur die Laufzeitumgebung“ herunterladen? Es geht um die Größe und die Zielgruppe.
Stellen Sie sich vor, Sie haben ein Superspiel in Java geschrieben und möchten es einem Freund zum Spielen geben. Ihr Freund ist kein Programmierer. Er wird nichts kompilieren. Er braucht nur eine „Box“ zum Ausführen der .jar-Datei. Ihm ein ganzes JDK mit einer Größe von fast 300 MB zu geben, ist sinnlos. Die JRE nimmt weniger Platz ein (ca. 100-150 MB) und enthält keine überflüssigen Werkzeuge, die einen normalen Benutzer verwirren.
Deshalb wird auf den Download-Seiten für Java normalen Benutzern genau die JRE angeboten. Und Entwicklern das JDK. In den neuesten Versionen (Java 11+) ist Oracle noch einen Schritt weiter gegangen und hat sie praktisch zusammengeführt, indem das JDK zu einem „eigenständigen“ Modul gemacht wurde. Aber konzeptionell bleibt der Unterschied bestehen.
Wie überprüft man, was installiert ist?
Der einfachste Weg ist, ein Terminal (Eingabeaufforderung) zu öffnen und ein paar Befehle einzugeben. Das spart Ihnen stundenlanges Googeln, wenn etwas schiefgeht.
Schritt 1. Überprüfen der Java-Version (JRE):
java -versionWenn die JRE installiert ist, sehen Sie etwas wie:
java version "17.0.2" 2022-01-18 LTSJava(TM) SE Runtime Environment (build 17.0.2+8-LTS-86)Schritt 2. Überprüfen des Compilers (JDK):
javac -versionWenn Sie sehen:
javac 17.0.2Herzlichen Glückwunsch! Sie haben das JDK installiert. Wenn der Befehl nicht gefunden wird, haben Sie entweder nur die JRE oder Java ist nicht in den Umgebungsvariablen (PATH) eingetragen.
Ein Beispiel aus der Praxis: Warum Sie ohne JDK keinen Code schreiben können
Stellen wir uns eine Situation vor. Sie haben nur die JRE installiert (z. B. um Minecraft zu spielen). Sie öffnen einen Texteditor und schreiben Ihr erstes „Hello, World!“:
public class HelloWorld { public static void main(String[] args) { System.out.println("Hallo, Welt!"); }}Sie speichern die Datei als HelloWorld.java.