Was ist die Java-Laufzeitumgebung?

Die Java-Laufzeitumgebung (JRE) ist eine Software, die Java-Programme benötigen, um korrekt zu laufen. Java ist eine Computersprache, die viele aktuelle Web- und Mobilanwendungen unterstützt. Die JRE ist die zugrunde liegende Technologie, die zwischen dem Java-Programm und dem Betriebssystem kommuniziert. Sie fungiert als Vermittler und stellt alle Ressourcen zur Verfügung, sodass einmal geschriebene Java-Software ohne weitere Änderungen auf jedem Betriebssystem läuft.

Warum ist die JRE wichtig?

Ein Softwareprogramm benötigt eine Laufzeitumgebung, die den Zugriff auf Speicher und andere Systemressourcen wie Programmdateien und Abhängigkeiten ermöglicht. In der Vergangenheit nutzte ein Großteil der Software das Betriebssystem direkt als Laufzeitumgebung. Das bedeutete jedoch, dass die Entwickler für jedes Betriebssystem, auf dem ihre Anwendungen laufen sollten, einen anderen Code schreiben mussten. Die Java-Laufzeitumgebung (JRE)-Technologie wurde als Lösung für dieses Problem entwickelt.
 
Die JRE ist eine von drei Komponenten der Java-Plattform, die für die erfolgreiche Ausführung von Java-Programmen erforderlich sind. Das Java Development Kit (JDK) und die Java Virtual Machine (JVM) sind die anderen beiden Komponenten.

Java Development Kit

Das JDK ist eine Sammlung von Software-Tools, die Sie für die Entwicklung von Java-Anwendungen verwenden können. Sie können das JDK in Ihrer Entwicklungsumgebung einrichten, indem Sie es herunterladen und installieren. Wählen Sie die JDK-Softwareversion aus, die mit der gewünschten Java-Version übereinstimmt. Die Java Standard Edition, kurz Java SE, benötigt zum Beispiel das Java SE JDK.

Java Virtual Machine

Die JVM ist eine Software, die das Java-Programm Zeile für Zeile ausführt. Entwickler konfigurieren die JVM-Einstellungen, um die Programmressourcen zu verwalten, wenn die Java-Anwendung ausgeführt wird. Sie können zum Beispiel die JVM-Speichereinstellung ändern und überprüfen, wie viel internen Speicher Ihre Java-Anwendungen während der Laufzeit verwenden.

Rolle der JRE in der Java-Programmiersprache

Die JRE kombiniert den Java-Code, den Sie mit dem JDK erstellen, mit zusätzlichem eingebautem Code, so genannte Bibliotheken. Anschließend wird eine JVM-Instance oder lokale Kopie erstellt, auf der die Java-Programme ablaufen. JVMs sind für mehrere Betriebssysteme verfügbar, und die JRE erzeugt eine einzige Kopie Ihres Java-Codes, die auf allen Arten von JVMs läuft. Auf diese Weise ermöglicht die JRE die Plattform-Unabhängigkeit von Java-Anwendungen. Sie können sie einmal schreiben und überall ausführen.

Unterschied zwischen JRE, JVM und JDK

Das JDK ist eine Softwareschicht oberhalb der JRE, die einen Compiler, einen Debugger und andere Tools enthält, die in jeder Software-Entwicklungsumgebung zu finden sind. Im JDK schreiben Sie Code in einer Englisch-artiger Syntax. Das JDK kompiliert es und übergibt den Bytecode an die JRE. Im Gegensatz dazu enthält die JRE Klassenbibliotheken, unterstützende Dateien und die JVM. Es verwendet diese Softwarekomponenten, um den Bytecode auf jedem Gerät auszuführen.

Wie funktioniert die JRE?

Die Java-Laufzeitumgebung (JRE) läuft über dem Betriebssystem und stellt zusätzliche Java-spezifische Ressourcen bereit. Das Java Development Kit (JDK) und die JRE interagieren, um eine nachhaltige Laufzeitumgebung zu schaffen, die Java-Programmdateien auf jedem Rechner ausführt. Die JRE verwendet drei Kernkomponenten zum Funktionieren.

ClassLoader

Java-Klassenbibliotheken enthalten Sammlungen von vorgefertigtem Code, den Sie bei Bedarf aufrufen können. Sie vereinfachen die Arbeit von Java-Entwicklern, indem sie integrierte Methoden für gängige und nicht triviale Aufgaben bereitstellen, wie z. B. die Entgegennahme von Benutzereingaben, die Anzeige von Ausgaben für Benutzer und vieles mehr. Alle Java-Programme verweisen auf verschiedene Klassenbibliotheken. Der Java ClassLoader lädt bei Bedarf alle erforderlichen Klassendateien dynamisch in die Java Virtual Machine (JVM).

Bytecode-Prüfer

Das JDK verfügt über einen Compiler, der den von Ihnen geschriebenen Englisch-artigen Code in eine Maschinensprachen-Version namens Java-Bytecode umwandelt. Der Bytecode-Prüfer in der JRE überprüft das Format und die Genauigkeit des Java-Codes, bevor er in die JVM geladen wird. Wenn zum Beispiel der Code die Systemintegrität oder die Zugriffsrechte verletzt, wird die JRE die Klassendatei nicht laden.

Interpreter

Nachdem der Bytecode erfolgreich geladen wurde, erstellt der Java-Interpreter die JVM-Instance, die das Java-Programm auf dem zugrunde liegenden Rechner ausführt.

Welche Komponenten umfasst die JRE?

Neben den Kernkomponenten enthält die Java-Laufzeitumgebung (JRE) weitere Softwarekomponenten, die eine effizientere Ausführung von Java-Programmen ermöglichen. Im Folgenden sind einige Beispiele aufgeführt:

Entwicklungstools

Die JRE enthält Entwicklungstools wie z. B. Toolkits für die Benutzeroberfläche, mit denen Sie die Qualität Ihrer Anwendungen verbessern können. Im Folgenden sind einige Beispiele aufgeführt:

Java 2D

Java 2D ist eine Anwendungs-Programmierschnittstelle (API), mit der Sie zweidimensionale Grafiken zeichnen und umfangreiche Benutzeroberflächen, Spiele, Animationen und Spezialeffekte in der Java-Sprache erstellen können.

Swing

Swing ist eine leichte grafische Benutzeroberfläche (GUI), die flexible, benutzerfreundliche Anpassungen ermöglicht.

Abstract Window Toolkit

Abstract Window Toolkit (AWT) ist eine grafische Benutzeroberfläche, mit der Sie UI-Objekte wie Schaltflächen, Fenster und Rollbalken erstellen können.

Bereitstellungs-Lösungen

Die JRE enthält Technologien, die den Prozess der Freigabe von Softwareänderungen für Anwendungsbenutzer vereinfachen. Diese Technologien bieten auch erweiterte Unterstützung für Updates in der Anwendung. Bereitstellungs-Technologien wie Java Web Start und Java-Plugin sind in der JRE-Installation enthalten. Diese Technologien vereinfachen die Aktivierung von Anwendungen und bieten außerdem erweiterte Unterstützung für künftige JRE-Aktualisierungen. Im Folgenden sind einige Beispiele aufgeführt:

Java Web Start

Mit Java Web Start können Sie voll funktionsfähige Anwendungen mit einem einzigen Klick von Ihrem Webbrowser aus starten.

Java-Plugin

Das Java-Plugin stellt eine Verbindung zwischen gängigen Browsern und der Java-Plattform her, so dass Sie Ihre Website-Applets in einem Desktop-Browser ausführen können.

Sprach- und Hilfsbibliotheken

Eine Sammlung von Java-Klassendateien wird als Java-Paket bezeichnet. Die JRE enthält mehrere Java-Pakete, die die Versionierung, Verwaltung und Überwachung unterstützen. Die folgenden Pakete sind einige Beispiele:

Collections-Framework

Das Collections-Framework ist eine einheitliche Architektur, die Schnittstellen zur Verbesserung der Speicherung und Verarbeitung von Anwendungsdaten umfasst.

Preferences-API

Die Preferences-API ermöglicht es mehreren Benutzern auf demselben Rechner, ihre eigene Gruppe von Anwendungseinstellungen zu definieren.

Protokollierung

Protokollierungspakete erstellen Protokollberichte zur Fehlerbehebung bei Sicherheits-, Leistungs- und Konfigurationsfehlern.

Java-Archiv

Das Java-Archiv (JAR) ist ein plattformunabhängiges Dateiformat, mit dem Sie mehrere Dateien bündeln können, um die Dateigröße Ihrer Anwendung zu verringern und die Download-Geschwindigkeit erheblich zu verbessern.

Integrationsbibliotheken

Die JRE enthält mehrere Integrationsbibliotheken, die Entwickler bei der Erstellung nahtloser Datenverbindungen zwischen ihren Services und Anwendungen unterstützen. Im Folgenden finden Sie einige Beispielsbibliotheken:

Java IDL

Die Java Interface Definition Language (IDL), die auf der Common Object Request Broker Architecture (CORBA) basiert, unterstützt verteilte Datenobjekte, d. h. Objekte, die über ein Netzwerk auf verschiedenen Plattformen interagieren. Java IDL ermöglicht es zum Beispiel, dass in Java geschriebene Objekte mit Objekten interagieren können, die in einer anderen Sprache wie C, C++ oder COBOL geschrieben wurden.

Java Database Connectivity

Die Java Database Connectivity (JDBC)-API wird von Entwicklern verwendet um Anwendungen zu schreiben, die auf externe Datenbanken, Tabellenkalkulationen und Dateien zugreifen können.

Java Naming and Directory Interface

Java Naming and Directory Interface (JNDI) ist ein Verzeichnis-Service, mit dem Kunden tragbare Anwendungen erstellen können, die anhand von Namensregeln Informationen aus externen Datenbanken abrufen.

Was ist AWS SDK für Java?

Das AWS Software Development Kit (SDK) für Java vereinfacht die Verwendung der AWS-Services, indem es eine Reihe von Bibliotheken bereitstellt, die für Java-Entwickler einheitlich und vertraut sind. Es unterstützt auch höhere Abstraktionsebenen für eine vereinfachte Entwicklung. Auf AWS ausgerichtete Open-Source-Java-Bibliotheken sind zusammen mit Codebeispielen und einem Java-API-Referenzleitfaden verfügbar.
 
Die AWS SDK für Java 2.0-Codebeispiele auf GitHub enthalten Java-Codebeispiele und reale Anwendungsfälle für AWS-Services, um die Entwicklung Ihrer Anwendungen zu beschleunigen. Darüber hinaus beschreibt der API-Leitfaden zum AWS SDK für Java die API-Vorgänge für die neueste Version des AWS SDK für Java. Der Referenzleitfaden enthält auch Beispiele für Anfragen, Antworten und Fehler für die unterstützten Webservice-Protokolle.
 
Starten Sie Ihre ersten Schritte mit dem AWS SDK für Java mithilfe des Entwicklerhandbuch für AWS SDK für Java oder besuchen Sie das AWS Java Developer Center.                                           

Nächste Schritte der Java-Laufzeitumgebung

Standard Product Icons (Features) Squid Ink
Sehen Sie sich zusätzliche produktbezogene Ressourcen an
Erfahren Sie mehr über den AWS-Support für die Java-Laufzeitumgebung (JRE) 
Sign up for a free account
Für ein kostenloses Konto registrieren

Sie erhalten sofort Zugriff auf das kostenlose Kontingent von AWS.

Kostenloses Konto erstellen 
Standard Product Icons (Start Building) Squid Ink
Beginnen Sie mit der Entwicklung in der Konsole

Beginnen Sie mit der Entwicklung mit der Java-Laufzeitumgebung in der AWS-Managementkonsole.

Anmeldung