JRE (Java Runtime Environment)

menu icon

JRE (Java Runtime Environment)

Hier erfahren Sie, wie die Java Runtime Environment (JRE) funktioniert und wie sie mit anderen Java-Plattformkomponenten arbeitet, um Java-Anwendungen auszuführen.

Was ist die JRE (Java Runtime Environment)?

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

Die JRE ist eine von drei miteinander verbundenen Komponenten für die Entwicklung und Ausführung von Java-Programmen. Die beiden anderen Komponenten sind:

  • Das Java Development Kit oder JDK, eine Gruppe von Tools für die 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 enthält immer eine kompatible JRE, da das Ausführen eines Java-Programms Teil des Prozesses zur Entwicklung eines Java-Programms ist.
  • Die Java Virtual Machine oder JVM führt Live-Java-Anwendungen aus. Jede JRE enthält eine Standard-JRE, aber Entwickler können eine andere JRE auswählen, die den spezifischen Ressourcenbedarf ihrer Anwendungen erfüllt.

Die JRE kombiniert Java-Code, der mit dem JDK erstellt wurde, mit den erforderlichen Bibliotheken, die für die Ausführung auf einer JVM erforderlich sind, und erstellt anschließend eine Instanz der JVM, die das resultierende Programm ausführt. JVMs sind für mehrere Betriebssysteme verfügbar, und Programme, die mit der JRE erstellt wurden, werden auf allen Systemen ausgeführt. Auf diese Weise ermöglicht die Java Runtime Environment, dass ein Java-Programm ohne Änderung in einem beliebigen Betriebssystem ausgeführt werden kann.

Sie können das JDK, einschließlich einer kompatiblen JRE, von Oracle herunterladen (Link befindet sich außerhalb von IBM).

Wie funktioniert JRE?

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

ClassLoader

Der Java-ClassLoader lädt dynamisch alle Klassen, die für die Ausführung eines Java-Programms erforderlich sind. Da Java-Klassen nur dann in den Speicher geladen werden, wenn sie erforderlich sind, verwendet die JRE ClassLoaders, um diesen Prozess auf Anforderung zu automatisieren.

Bytecode-Prüffunktion

Der Bytecode-Prüffunktion stellt das Format und die Genauigkeit von Java-Code sicher, bevor er an den Interpreter übergeben wird. Für den Fall, dass Code die Systemintegrität oder Zugriffsrechte verletzt, wird die Klasse als beschädigt betrachtet und nicht geladen.

Interpreter

Nachdem der Bytecode erfolgreich geladen wurde, erstellt der Java-Interpreter eine Instanz der JVM, mit der das Java-Programm nativ auf der zugrunde liegenden Maschine ausgeführt werden kann.

Woraus besteht die JRE?

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

Implementierungslösungen

Im Rahmen der JRE-Installation sind Implementierungstechnologien wie Java Web Start und Java-Plug-in enthalten, die die Aktivierung von Anwendungen vereinfachen und erweiterte Unterstützung für zukünftige Java-Aktualisierungen bereitstellen.

Toolkits für Entwicklung

Die JRE enthält auch Toolkits, die Entwicklern dabei helfen, ihre Benutzeroberfläche zu verbessern. Einige dieser Toolkits enthalten:

  • Java 2D: Eine Anwendungsprogrammierschnittstelle (API), die zum Zeichnen von zweidimensionaler Grafik in Java-Sprache verwendet wird. Entwickler können umfangreiche Benutzeroberflächen, spezielle Effekte, Spiele und Animationen erstellen.
  • Abstract Window Toolkit (AWT): Eine grafische Benutzerschnittstelle (GUI), die zum Erstellen von Objekten, Schaltflächen, Schiebeleisten und Fenstern verwendet wird.
  • Swing: Eine andere schlanke grafische Benutzerschnittstelle, die eine umfangreiche Gruppe von Widgets verwendet, um flexible, benutzerfreundliche Anpassungen anzubieten.

Integrationsbibliotheken

Java Runtime Environment stellt eine Reihe von Integrationsbibliotheken bereit, um Entwicklern bei der Erstellung nahtloser Datenverbindungen zwischen ihren Anwendungen und Services zu helfen. Einige dieser Bibliotheken umfassen:

  • Java IDL (CORBA): Verwendet Common Object Request Architecture, um verteilte Objekte zu unterstützen, die in der Programmiersprache Java geschrieben sind.
  • Java Database Connectivity (JDBC) API: Stellt Tools für Entwickler zur Verfügung, um Anwendungen mit Zugriff auf ferne Beziehungsdatenbanken, unstrukturierte Dateien und Tabellenkalkulationen zu schreiben.
  • Java Naming and Directory Interface (JNDI): Eine Programmierschnittstelle und ein Verzeichnisservice, mit dem Clients portierbare Anwendungen erstellen können, die mithilfe von Namenskonventionen Informationen aus Datenbanken abrufen können.

Sprachen- und Dienstprogrammbibliotheken

Im Lieferumfang der JRE enthalten sind java.lang.- und java.util.-Pakete, die für das Design von Java-Anwendungen, Paketversionierung, -verwaltung und -überwachung von grundlegender Bedeutung sind. Einige dieser Pakete enthalten:

  • Erfassungs-Framework: Eine einheitliche Architektur aus einer Sammlung von Schnittstellen, die die Speicherung und den Prozess von Anwendungsdaten verbessern soll.
  • Dienstprogramme mit gemeinsamem Zugriff: Ein leistungsstarkes Framework-Paket mit leistungsfähigen Threading-Dienstprogrammen.
  • Vorgaben-API: Eine schlanke, plattformübergreifende persistente API, die es mehreren Benutzern auf derselben Maschine ermöglicht, ihre eigene Gruppe von Anwendungsvorgaben zu definieren.
  • Protokollierung: Erstellt Protokollberichte, wie z. B. Sicherheitsfehler, Konfigurationsfehler und Leistungsprobleme, für die weitere Analyse.
  • Java-Archiv (JAR): Ein plattformunabhängiges Dateiformat, mit dem mehrere Dateien im JAR-Format gebündelt werden können, wodurch die Downloadgeschwindigkeit erheblich verbessert und die Dateigröße reduziert werden kann.

JRE und IBM

JRE und IBM Cloud

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. Es kann auch eine wichtige Rolle bei der Modernisierung von Anwendungen auf dem Weg zur Cloud spielen.

Machen Sie den nächsten Schritt:

  • Erkunden Sie OpenJDK und IBM Runtimes for Business, das zuverlässige und kosteneffiziente kommerzielle Unterstützung für die Implementierung, Überwachung und Verwaltung von Java-Anwendungen bietet.

Beginnen Sie noch heute mit einem IBM Cloud-Konto.