Was ist die Java Runtime Environment (JRE)?
Erfahren Sie, welche Funktion die Java-Laufzeitumgebung bzw. Java Runtime Environment (JRE) erfüllt und wie sie mit anderen Java-Plattformkomponenten zusammenarbeitet, um Java-Anwendungen auszuführen.
IBM Newsletter abonnieren
Schwarzer und blauer Hintergrund
Was ist die JRE?

Die Java Runtime Environment oder JRE ist eine Softwareschicht, die auf der Betriebssystemsoftware eines Computers ausgeführt wird und die Klassenbibliotheken sowie andere Ressourcen bereitstellt, die ein bestimmtes Java-Programm zur Ausführung benötigt.

Die JRE ist eine von drei in Wechselbeziehung zueinander stehenden Komponenten für die Entwicklung und Ausführung von Java-Programmen. Die beiden anderen Komponenten sind wie folgt:

  • Das Java Development Kit oder JDK ist ein Satz von Tools zur Entwicklung von Java-Anwendungen. Entwickler wählen JDKs nach Java-Version und nach Paket oder Edition aus – Java Enterprise Edition (Java EE), Java Special Edition (Java SE) oder Java Mobile Edition (Java ME). Jedes JDK beinhaltet stets eine kompatible JRE, da die Ausführung eines Java-Programms Teil des Prozesses der Entwicklung eines Java-Programms ist.

  • Die Java Virtual Machine oder JVM führt Java-Anwendungen in Echtzeit aus. Jede JRE enthält eine Standard-JRE, aber es steht den Entwicklern frei, eine andere zu wählen, die den spezifischen Ressourcenanforderungen ihrer Anwendungen entspricht.

Die JRE kombiniert den mit dem JDK erstellten Java-Code mit den für die Ausführung auf einer JVM erforderlichen Bibliotheken und erstellt dann eine Instanz der JVM, die das daraus resultierende Programm ausführt. JVMs sind für mehrere Betriebssysteme verfügbar und Programme, die mit der JRE erstellt wurden, können auf allen diesen Betriebssystemen ausgeführt werden. Auf diese Weise ermöglicht die Java Runtime Environment, dass ein Java-Programm auf jedem beliebigen Betriebssystem ohne vorherige Änderungen ausgeführt werden kann.

Sie können das JDK einschließlich einer kompatiblen JRE von Oracle  herunterladen (Link außerhalb von ibm.com).

Wie funktioniert JRE?

Das JDK und die JRE interagieren miteinander, um eine nachhaltige Laufzeitumgebung zu schaffen, die die nahtlose Ausführung von Java-basierten Anwendungen auf praktisch jedem Betriebssystem ermöglicht. Die folgenden Komponenten bilden die JRE-Laufzeitarchitektur:

ClassLoader

Das Java-Ladeprogramm für Klassen lädt dynamisch alle Klassen, die zur Ausführung eines Java-Programms erforderlich sind. Da Java-Klassen nur dann in den Speicher geladen werden, wenn sie benötigt werden, verwendet die JRE Ladeprogramme für Klassen, um diesen Prozess bei Bedarf zu automatisieren.

Bytecode-Prüffunktion

Die Bytecode-Prüffunktion stellt das Format und die Genauigkeit von Java-Code sicher, bevor er an den Interpreter weitergegeben wird. Falls der Code die Systemintegrität oder die Zugriffsrechte verletzt, wird die Klasse als beschädigt eingestuft und daher nicht geladen.

Interpreter

Nachdem der Bytecode erfolgreich geladen worden ist, erstellt der Java-Interpreter eine Instanz der JVM, die es ermöglicht, das Java-Programm nativ auf dem zugrunde liegenden System auszuführen.

Woraus besteht die JRE?

Neben der Java Virtual Machine besteht JRE aus einer Vielzahl anderer unterstützender Software-Tools und Funktionen, um das Beste aus Ihren Java-Anwendungen herauszuholen.

Bereitstellungslösungen

Teil der JRE-Installation sind Bereitstellungstechnologien wie Java Web Start und Java Plugin, die die Aktivierung von Anwendungen vereinfachen und erweiterte Unterstützung für zukünftige Java-Updates bieten.

Toolkits für die Entwicklung

Die JRE enthält auch Toolkits, die Entwicklern helfen sollen, ihre Benutzerschnittstelle zu verbessern. Zu diesen Toolkits gehören unter anderem die Folgenden:

  • Java 2D: Eine Anwendungsprogrammierschnittstelle bzw. Application Programming Interface (API), die zum Zeichnen zweidimensionaler Grafiken in Java verwendet wird. Entwickler können umfangreich ausgestattete Benutzerschnittstellen, spezielle Effekte, Spiele und Animationen erstellen.

  • Abstract Window Toolkit (AWT):  Eine grafische Benutzerschnittstelle bzw. Graphical User Interface (GUI), die zum Erstellen von Objekten, Schaltflächen, Bildlaufleisten und Fenstern verwendet wird.

  • Swing: Eine weitere schlanke GUI, die eine Vielzahl von Widgets verwendet, um flexible, benutzerfreundliche Anpassungen zu ermöglichen.

Integrationsbibliotheken

Die Java Runtime Environment (JRE) bietet eine Reihe von Integrationsbibliotheken, die Entwickler bei der Erstellung nahtloser Datenverbindungen zwischen ihren Anwendungen und Services unterstützen. Zu diesen Bibliotheken gehören unter anderem die Folgenden:

  • Java IDL (CORBA): Verwendet die Common Object Request Broker Architecture zur Unterstützung verteilter Objekte, die in der Java-Programmiersprache geschrieben wurden.

  • Java Database Connectivity-API (JDBC-API): Bietet Entwicklern Tools zum Schreiben von Anwendungen mit Zugriff auf ferne Beziehungsdatenbanken, unstrukturierte Dateien und Arbeitsblätter.

  • Java Naming and Directory Interface (JNDI): Eine Programmierschnittstelle und ein Verzeichnisservice, mit der bzw. dem Clients portierbare Anwendungen erstellen können, die Informationen aus Datenbanken unter Verwendung von Namenskonventionen abrufen können.

Sprachen- und Dienstprogrammbibliotheken

In der JRE enthalten sind java.lang.- und java.util.-Pakete, die für den Entwurf von Java-Anwendungen, die Paketversionierung-, Verwaltung und Überwachung von grundlegender Bedeutung sind. Einige dieser Pakete umfassen Folgendes:

  • Zusammenstellungs-Framework: Eine einheitliche Architektur, die aus einer Zusammenstellung von Schnittstellen besteht und die Speicherung und Verarbeitung von Anwendungsdaten verbessern soll.

  • Dienstprogramme mit gemeinsamem Zugriff: Ein leistungsstarkes Framework-Paket mit leistungsfähigen Threading-Dienstprogrammen.

  • API für Einstellungen: Eine schlanke, plattformübergreifende API, die es mehreren Benutzern auf demselben Rechner ermöglicht, ihre eigene Gruppe von Anwendungseinstellungen zu definieren.

  • Protokollierung: Erstellt Protokollberichte – z. B. über Sicherheitsmängel, Konfigurationsfehler und Durchsatzprobleme – zur weiteren Analyse.

  • Java Archiv (JAR): Ein plattformunabhängiges Dateiformat, mit dem mehrere Dateien im JAR-Format gebündelt werden können, was die Download-Geschwindigkeit erheblich verbessert und die Dateigröße reduziert.
Zugehörige Lösungen
Anwendungen erstellen und modernisieren

Stellen Sie die Fähigkeiten und Tools bereit, die Ihr Team benötigt, um Innovationen voranzutreiben und Ihr Unternehmen vorwärts zu bringen.

Erstellen und Modernisieren von Anwendungen erkunden
OpenJDK und IBM Runtimes for Business

IBM Runtimes for Business bietet Unterstützung für Open-Source-Java-Laufzeitumgebungen sowie für die Überwachung und Verwaltung von Java-Anwendungen.

OpenJDK und IBM Runtimes for Business erkunden
IBM® WebSphere Hybrid Edition

Entdecken Sie, wie Sie mit der WebSphere Hybrid Edition die cloudnative Entwicklung, die Anwendungsmodernisierung und die Unterstützung bestehender Anwendungen vorantreiben können.

IBM® WebSphere Hybrid Edition erkunden
Ressourcen Was ist Java?

Erfahren Sie, warum Java nach wie vor eine so beliebte Entwicklungsplattform ist und wie sie Projekte beschleunigt und ein breites Spektrum an neuen Technologien unterstützt.

Was ist Java Spring Boot?

Erfahren Sie, wie Java Spring Boot die Entwicklung von Webanwendungen und Mikroservices mit Java Spring Framework vereinfacht.

Machen Sie den nächsten Schritt

Für viele Organisationen ist Java weiterhin ein wichtiger Bestandteil der Anwendungsentwicklung und bietet eine solide Grundlage für die Erstellung portabler und skalierbarer Lösungen. Erkunden Sie OpenJDK und IBM Runtimes for Business, die zuverlässige und kostengünstige kommerzielle Unterstützung für die Implementierung, Überwachung und Verwaltung von Java-Anwendungen bieten.

Weitere Informationen zu OpenJDK und IBM Runtimes for Business