EMZETT.
Login

JRE (Java Runtime Environment)

Kurz: Die JRE ist die Laufzeitumgebung, die man braucht, um fertige Java-Programme auszuführen. Sie besteht aus der JVM und den Standardbibliotheken, enthält aber keinen Compiler.

Genauer: Zur Entwicklung braucht man das größere JDK, das die JRE und zusätzlich Werkzeuge wie javac enthält. Anwender, die ein Java-Programm nur starten wollen, brauchten früher nur die JRE.

Im Detail

JDK  (Entwickeln)
 ├─ Werkzeuge: javac, jar, javadoc, jdb, jlink ...
 └─ JRE  (Ausführen)
     ├─ Standardbibliothek (java.base, java.sql ...)
     └─ JVM  (führt Bytecode aus: Interpreter + JIT + Garbage Collector)
  • JVM: Die virtuelle Maschine, die den Bytecode ausführt.
  • JRE = JVM + Klassenbibliothek. Kein Compiler, keine Entwicklerwerkzeuge.
  • JDK = JRE + Entwicklerwerkzeuge.
  • Seit Java 11 gibt es von Oracle keinen separaten JRE-Download mehr. Das JDK genügt für beides. Mit jlink baut man ein kleines eigenes Laufzeit-Image, das nur die benötigten Module enthält.
  • Version prüfen: java -version zeigt die laufende Laufzeitumgebung, javac -version die des Compilers.
  • Typische Fehler: „Unsupported class file major version” bedeutet, dass der Bytecode mit einem neueren JDK erzeugt wurde, als die ausführende JRE kennt. Dann JAVA_HOME und PATH prüfen.
  • Alternativen: OpenJDK-Builds von Eclipse Temurin, Amazon Corretto, Azul Zulu und anderen.

Siehe auch: JDK, JVM (Java Virtual Machine), javac (Java-Compiler)