Java verstehen: JDK, JRE und JVM erklärt
Java JDK, JRE und JVM
In diesem Tutorial lernen Sie JDK, JRE und JVM kennen. Sie erfahren auch die wichtigsten Unterschiede zwischen ihnen.
Was ist die JVM?
JVM (Java Virtual Machine) ist eine abstrakte Maschine, die es Ihrem Computer ermöglicht, ein Java-Programm auszuführen.
Wenn Sie das Java-Programm ausführen, kompiliert der Java-Compiler zuerst Ihren Java-Code in Bytecode. Dann übersetzt die JVM den Bytecode in nativen Maschinencode – eine Reihe von Instruktionen, die die CPU eines Computers direkt ausführt.
Java ist eine plattformunabhängige Sprache. Das liegt daran, dass Java-Code für die JVM kompiliert wird, nicht für eine bestimmte physische Maschine. Da die JVM plattformneutralen Bytecode ausführt, läuft Java konsistent über Betriebssysteme hinweg.

Möchten Sie tiefer eintauchen? Die JVM-Architektur erklärt.
Was ist die JRE?
JRE (Java Runtime Environment) ist ein Softwarepaket, das die Java-Klassenbibliotheken, die JVM und andere Komponenten bündelt, die zum Ausführen von Java-Anwendungen erforderlich sind.
Im Wesentlichen ist die JRE das Superset der JVM – sie enthält alles, was die JVM benötigt, plus die Laufzeitbibliotheken.

Wenn Sie nur Java-Programme ausführen, aber nicht entwickeln müssen, reicht die JRE aus. Sie können sie von der Java SE Runtime Environment 8 Downloads-Seite herunterladen.
Was ist das JDK?
JDK (Java Development Kit) ist der vollständige Werkzeugkasten, der für die Entwicklung von Java-Anwendungen erforderlich ist. Wenn Sie das JDK installieren, wird die JRE automatisch mitinstalliert.
Zusätzlich zur JRE bündelt das JDK wesentliche Entwicklungstools wie den Java-Compiler (javac), JavaDoc, den Java-Debugger und mehr.

Bereit zum Coden? JDK herunterladen und mit dem Bau Ihrer Java-Projekte beginnen.
Beziehung zwischen JVM, JRE und JDK

Java
- Java Variablen und Literale: Umfassender Leitfaden
- Java Ein- und Ausgabe meistern: Drucken, Lesen und Formatieren Ihrer Daten
- Java Ausdrücke, Anweisungen und Blöcke verstehen
- Java Klassen und Objekte: Praktischer Leitfaden
- Java abstrakte Klassen und Methoden: Ein umfassender Leitfaden
- Java verschachtelte und innere Klassen meistern: Typen, Beispiele und Best Practices
- Java throw vs. throws: Exception Handling mit praktischen Beispielen meistern
- Java Autoboxing und Unboxing meistern: Praktische Beispiele und Best Practices
- Java String-Ersetzung meistern: replace(), replaceAll() und replaceFirst() erklärt
- Java String toLowerCase() & toUpperCase(): Text-Groß-/Kleinschreibung mit Locale-Bewusstsein konvertieren