Das Java-Ökosystem
JDK vs. JRE vs. JVM, Bytecode, die Kompilier- und Laufzeitkette und das Universum der Java-Bibliotheken.
Auf dieser Seite
Du hast drei fast identisch klingende Abkürzungen gehört: JDK, JRE und JVM. Sie verwirren fast jeden Anfänger. Machen wir sie glasklar und folgen dann deinem Code auf seiner Reise vom Text zum laufenden Programm.
JDK vs. JRE vs. JVM
Stell dir drei ineinander verschachtelte Schichten vor:
- Die JVM ist der Herd - sie kocht (führt) dein Programm tatsächlich.
- Die JRE ist der Herd plus Grundzutaten - alles, um ein fertiges Gericht auszuführen, aber nicht, um neue Rezepte zu erstellen.
- Das JDK ist das komplette Kochset - Herd, Zutaten und alle Werkzeuge (Messer, Messbecher), um neue Gerichte zu erschaffen.
Um Java zu schreiben, brauchst du das komplette Set: das JDK.
Ganz einfach:
| Schicht | Enthält | Zweck |
|---|---|---|
| JVM | Die Engine, die Bytecode ausführt | Java-Programme ausführen |
| JRE | JVM + Kernbibliotheken | Java-Apps ausführen (kein Kompilieren) |
| JDK | JRE + Compiler + Werkzeuge | Java-Apps entwickeln |
Da du Java schreiben lernst, installierst du das JDK.
Die Reise: vom Quellcode zum laufenden Programm
Hier passiert, was tatsächlich geschieht, wenn du ein Java-Programm ausführst. Es ist eine zweistufige Reise.
Schritt 1 - Kompilieren. Du schreibst lesbaren Quellcode in eine
.java-Datei. Der Java-Compiler (javac) übersetzt ihn in Bytecode, der
in einer .class-Datei gespeichert wird.
// Hello.java (der Quellcode, den du schreibst)
public class Hello {
public static void main(String[] args) {
System.out.println("Hallo, Java!");
}
}javac Hello.java → erzeugt Hello.class (Bytecode)Schritt 2 - Ausführen. Die JVM liest den Bytecode und führt ihn auf deiner Maschine aus (Windows, macOS, Linux …). Weil jede Plattform ihre eigene JVM hat, läuft derselbe Bytecode überall unverändert.
java Hello → die JVM führt Hello.class aus → "Hallo, Java!"Ein Notenblatt ist kein Klang - es ist eine universelle Notation. Gib dasselbe Blatt einer Pianistin in Tokio oder einem Gitarristen in Berlin, und jeder spielt es auf seinem eigenen Instrument. Bytecode ist das Notenblatt; die JVM ist der Musiker auf jeder Plattform.
Das ist 'Write Once, Run Anywhere' in Aktion
Weil dein Code zu portablem Bytecode kompiliert wird - nicht zu Windows- oder Mac-spezifischen Anweisungen - läuft ein einziges kompiliertes Programm auf jedem Gerät mit einer JVM. Diese Portabilität ist Javas Superkraft.
Java-Editionen und das weitere Universum
„Java" ist mehr als die Sprache selbst:
- Java SE (Standard Edition) - die Kernplattform, die du lernst: die Sprache, die JVM und wesentliche Bibliotheken.
- Jakarta EE (früher Java EE) - Unternehmenserweiterungen für große Server-Anwendungen (Web-APIs, Messaging, Transaktionen).
- Java ME (Micro Edition) - eine abgespeckte Edition für eingeschränkte Geräte.
Um diesen Kern herum liegt ein riesiges Ökosystem: Build-Tools (Maven, Gradle), Frameworks (Spring, Quarkus), Test-Tools (JUnit) und hunderttausende Open-Source-Bibliotheken.
Kurze Überprüfung
Du willst Java-Programme SCHREIBEN und kompilieren. Was musst du installieren?
Das Wichtigste
- Die JVM führt Bytecode aus; die JRE ergänzt Kernbibliotheken zum Ausführen; das JDK ergänzt Werkzeuge zum Entwickeln.
- Um Java zu schreiben, installiere das JDK.
- Java-Quellcode (.java) wird von javac in portablen Bytecode (.class) kompiliert.
- Die JVM führt diesen Bytecode auf jeder Plattform aus - das ermöglicht 'Write Once, Run Anywhere'.
- Java SE ist der Kern; Jakarta EE und Java ME erweitern ihn, umgeben von einem riesigen Bibliotheks-Ökosystem.
Genug Theorie - machen wir im nächsten Kapitel deinen Rechner bereit und führen dein allererstes Java-Programm aus.