JDK vs. JRE vs. JVM:Hauptunterschiede
Was ist JDK?
JDK ist eine Softwareentwicklungsumgebung, die zum Erstellen von Applets und Java-Anwendungen verwendet wird. Die vollständige Form von JDK ist das Java Development Kit. Java-Entwickler können es unter Windows, macOS, Solaris und Linux verwenden. JDK hilft ihnen, Java-Programme zu codieren und auszuführen. Es ist möglich, mehr als eine JDK-Version auf demselben Computer zu installieren.
In diesem Tutorial lernen Sie:
- Was ist JDK?
- Was ist JRE?
- Was ist JVM?
- Warum JDK verwenden?
- Warum JRE verwenden?
- Warum JVM?
- Funktionen von JDK
- Funktionen von JRE
- Funktionen von JVM
- Wie funktioniert JDK?
- Wie funktioniert JRE?
- Wie funktioniert JVM?
- Unterschied zwischen JDK, JRE und JVM
Was ist JRE?
JRE ist ein Teil einer Software, die darauf ausgelegt ist, andere Software auszuführen. Es enthält die Klassenbibliotheken, die Ladeklasse und die JVM. Einfach ausgedrückt, wenn Sie ein Java-Programm ausführen möchten, benötigen Sie JRE. Wenn Sie kein Programmierer sind, müssen Sie kein JDK installieren, sondern nur JRE, um Java-Programme auszuführen. Alle JDK-Versionen werden jedoch mit Java Runtime Environment geliefert, sodass Sie die JRE nicht separat herunterladen und auf Ihrem PC installieren müssen. Die vollständige Form von JRE ist Java Runtime Environment.
Was ist JVM?
JVM ist eine Engine, die eine Laufzeitumgebung bereitstellt, um den Java-Code oder Anwendungen zu steuern. Es wandelt Java-Bytecode in Maschinensprache um. JVM ist ein Teil von Java Run Environment (JRE). Es kann nicht separat heruntergeladen und installiert werden. Um JVM zu installieren, müssen Sie JRE installieren. Die vollständige Form von JVM ist Java Virtual Machine.
In vielen anderen Programmiersprachen erzeugt der Compiler Maschinencode für ein bestimmtes System. Der Java-Compiler erzeugt jedoch Code für eine virtuelle Maschine, die als JVM bezeichnet wird.
WICHTIGE UNTERSCHIEDE
- JDK ist ein Softwareentwicklungskit, während JRE ein Softwarepaket ist, das die Ausführung von Java-Programmen ermöglicht, während JVM eine Umgebung zum Ausführen von Bytecode ist.
- Die vollständige Form von JDK ist Java Development Kit, während die vollständige Form von JRE Java Runtime Environment ist, während die vollständige Form von JVM Java Virtual Machine ist.
- JDK ist plattformabhängig, JRE ist auch plattformabhängig, aber JVM ist nicht plattformunabhängig.
- JDK enthält Tools zum Entwickeln, Debuggen usw. JRE enthält Klassenbibliotheken und andere unterstützende Dateien, während Softwareentwicklungstools nicht in JVM enthalten sind.
- JDK wird mit dem Installationsprogramm geliefert, andererseits enthält JRE nur die Umgebung zum Ausführen des Quellcodes, während JVM sowohl in der Software JDK als auch in JRE gebündelt ist.
Warum JDK verwenden?
Hier sind die wichtigen Gründe für die Verwendung von JDK:
- JDK enthält Tools, die zum Schreiben von Java-Programmen erforderlich sind, und JRE, um sie auszuführen.
- Es enthält einen Compiler, einen Java-Anwendungsstarter, Appletviewer usw.
- Compiler wandelt in Java geschriebenen Code in Bytecode um.
- Der Java-Anwendungsstarter öffnet eine JRE, lädt die erforderliche Klasse und führt ihre Hauptmethode aus.
Warum JRE verwenden?
Hier sind die wichtigen Gründe für die Verwendung von JRE:
- JRE enthält Klassenbibliotheken, JVM und andere unterstützende Dateien. Es enthält kein Tool für die Java-Entwicklung wie Debugger, Compiler usw.
- Es verwendet wichtige Paketklassen wie math, swingetc, util, lang, awt und Laufzeitbibliotheken.
- Wenn Sie Java-Applets ausführen müssen, muss JRE auf Ihrem System installiert sein.
Warum JVM?
Hier sind die wichtigen Gründe für die Verwendung von JVM:
- JVM bietet eine plattformunabhängige Möglichkeit, Java-Quellcode auszuführen.
- Es hat zahlreiche Bibliotheken, Tools und Frameworks.
- Sobald Sie das Java-Programm ausgeführt haben, können Sie es auf jeder Plattform ausführen und viel Zeit sparen.
- JVM wird mit JIT(Just-in-Time)-Compiler geliefert, der Java-Quellcode in Low-Level-Maschinensprache konvertiert. Daher läuft es schneller als eine normale Anwendung.
Funktionen von JDK
Hier sind die wichtige Features von JDK:
- Es ermöglicht Ihnen, mehrere Erweiterungen in einem einzigen Catch-Block zu handhaben.
- JDK enthält alle Funktionen von JRE.
- Es enthält Entwicklungswerkzeuge wie Compiler, Debugger usw.
- JDK bietet die Umgebung zum Entwickeln und Ausführen von Java-Quellcode.
- Es kann auf Windows-, Unix- und Mac-Betriebssystemen installiert werden.
- Der Diamond-Operator kann verwendet werden, um eine generische Typschnittstelle anzugeben, anstatt die exakte zu schreiben.
Funktionen von JRE
Hier sind die Wichtige Funktionen von JRE:
- Java Runtime Environment ist eine Reihe von Tools, mit denen die JVM tatsächlich ausgeführt wird.
- JRE enthält Bereitstellungstechnologie, einschließlich Java Web Start und Java Plug-in.
- Entwickler können den Quellcode problemlos in JRE ausführen, aber er/sie kann das Java-Programm nicht schreiben und kompilieren.
- Es enthält Integrationsbibliotheken wie Java Database Connectivity (JDBC), Remote Method Invocation (RMI), Java Naming and Directory Interface (JNDI) und mehr.
- JRE hat JVM und Java HotSpot Virtual Machine Client.
Funktionen von JVM
Hier sind die wichtigen Funktionen von JVM:
- Es ermöglicht Ihnen, Anwendungen in einer Cloud-Umgebung oder auf Ihrem Gerät auszuführen.
- Java Virtual Machine konvertiert Bytecode in den maschinenspezifischen Code.
- Es bietet grundlegende Java-Funktionen wie Speicherverwaltung, Sicherheit, Garbage Collection und mehr.
- JVM führt das Programm unter Verwendung von Bibliotheken und Dateien aus, die von Java Runtime Environment bereitgestellt werden.
- JDK und JRE enthalten beide Java Virtual Machine.
- Es kann das Java-Programm Zeile für Zeile ausführen, daher wird es auch als Interpreter bezeichnet.
- JVM ist leicht anpassbar, Sie können ihr zum Beispiel minimalen und maximalen Speicher zuweisen.
- Es ist unabhängig von Hardware und Betriebssystem. Sie können also ein Java-Programm einmal schreiben und überall ausführen.
Wie JDK funktioniert?

Hier sind die wichtigen Komponenten von JDK:
- JDK und JRE :Mit dem JDK können Programmierer Java-Kernprogramme erstellen, die von der JRE ausgeführt werden können, die JVM und Klassenbibliotheken enthält.
- Klassenbibliotheken: Es ist eine Gruppe dynamisch ladbarer Bibliotheken, die das Java-Programm zur Laufzeit aufrufen kann.
- Compiler: Es ist ein Java-Programm, das Textdateien von Entwicklern akzeptiert und in eine Java-Klassendatei kompiliert. Es ist die übliche Ausgabeform des Compilers, die Java-Bytecode enthält. In Java ist der primäre Compiler Javac.
- Debugger: Debugger ist ein Java-Programm, mit dem Entwickler Java-Programme testen und debuggen können.
- JavaDoc: JavaDoc ist eine von Sun Microsystems für Java erstellte Dokumentation. JavaDoc kann verwendet werden, um API-Dokumentation in einer HTML-Datei aus dem Quellprogramm zu generieren
Wie JRE funktioniert?

JRE enthält eine Instanz von JVM, Bibliotheksklassen und Entwicklungstools. Sobald Sie Java-Code schreiben und kompilieren, generiert der Compiler eine Klassendatei mit Byte-Code.
Hier sind die wichtigen Komponenten von JRE:
- Klassenlader: Der Klassenlader lädt verschiedene Klassen, die zum Ausführen eines Java-Programms erforderlich sind. JVM verwendet drei Klassenlader, die als Bootstrap-Klassenlader, Erweiterungs-Klassenlader und System-Klassenlader bezeichnet werden.
- Bytecode-Verifizierer: Der Bytecode-Verifizierer verifiziert den Bytecode, damit der Code den Interpreter nicht stört.
- Dolmetscher: Sobald die Klassen geladen und der Code verifiziert ist, liest der Interpreter den Code Zeile für Zeile.
- Laufzeit: Die Laufzeit ist ein System, das hauptsächlich in der Programmierung verwendet wird, um den Zeitraum zu beschreiben, in dem ein bestimmtes Programm ausgeführt wird.
- Hardware: Sobald Sie nativen Java-Code kompilieren, wird er auf einer bestimmten Hardwareplattform ausgeführt.
Auf diese Weise läuft das Java-Programm in JRE.
Wie JVM funktioniert?

Hier sind die wichtigen Komponenten von JVM:
1) Klassenlader
Der Klassenlader ist ein Subsystem, das zum Laden von Klassendateien verwendet wird. Es erfüllt drei Hauptfunktionen, nämlich. Laden, Verknüpfen und Initialisieren.
2) Methodenbereich
Der JVM-Methodenbereich speichert Klassenstrukturen wie Metadaten, den Code für Java-Methoden und den konstanten Laufzeitpool.
3) Haufen
Alle Objekte, Arrays und Instanzvariablen werden in einem Heap gespeichert. Dieser Speicher wird von mehreren Threads gemeinsam genutzt.
4) JVM-Sprachstacks
Java-Stacks speichern lokale Variablen und ihre Teilergebnisse. Jeder einzelne Thread hat seinen eigenen JVM-Sprachstack, der gleichzeitig mit der Erstellung des Threads erstellt wird. Ein neuer Frame wird erstellt, wenn die Methode aufgerufen wird, und wird entfernt, wenn der Methodenaufrufprozess abgeschlossen ist.
5) PC-Register
PC-Register speichern die Adresse des gerade ausgeführten Java-Virtual-Machine-Befehls. In Java hat jeder Thread sein separates PC-Register.
6) Native Methodenstapel
Native Methodenstapel enthalten die Anweisungen des nativen Codes, der von der nativen Bibliothek abhängt. Es weist Speicher auf nativen Heaps zu oder verwendet jede Art von Stack.
7) Ausführungsmodul
Es ist eine Art von Software, die zum Testen von Software, Hardware oder kompletten Systemen verwendet wird. Die Testausführungs-Engine trägt niemals Informationen über das getestete Produkt.
8) Benutzeroberfläche für native Methoden
Das Native Method Interface ist ein Programmierframework. Es ermöglicht Java-Code, der in einer JVM läuft, von Bibliotheken und nativen Anwendungen aufgerufen zu werden.
9) Native Methodenbibliotheken
Native Libraries ist eine Sammlung der Native Libraries (C, C++), die von der Execution Engine benötigt werden.
Unterschied zwischen JDK, JRE und JVM
Hier sind die Hauptunterschiede zwischen JDK vs. JRE vs. JVM:
JDK | JRE | JVM |
---|---|---|
Die vollständige Form von JDK ist das Java Development Kit. | Die vollständige Form von JRE ist Java Runtime Environment. | Die vollständige Form von JVM ist Java Virtual Machine. |
JDK ist ein Software Development Kit zur Entwicklung von Anwendungen in Java. | Es handelt sich um ein Softwarepaket, das Java-Klassenbibliotheken mit den erforderlichen Komponenten zum Ausführen von Java-Code bereitstellt. | JVM führt Java-Bytecode aus und stellt eine Umgebung für seine Ausführung bereit. |
JDK ist plattformabhängig. | JRE ist auch plattformabhängig. | JVM ist stark plattformabhängig. |
Es enthält Tools zum Entwickeln, Debuggen und Überwachen von Java-Code. | Es enthält Klassenbibliotheken und andere unterstützende Dateien, die JVM benötigt, um das Programm auszuführen. | Softwareentwicklungstools sind nicht in JVM enthalten. |
Es ist die Obermenge von JRE | Es ist die Teilmenge von JDK. | JVM ist eine Teilmenge von JRE. |
Das JDK ermöglicht es Entwicklern, Java-Programme zu erstellen, die von JRE und JVM ausgeführt und ausgeführt werden können. | Die JRE ist der Teil von Java, der die JVM erstellt. | Es ist die Java-Plattformkomponente, die den Quellcode ausführt. |
JDK wird mit dem Installationsprogramm geliefert. | JRE enthält nur eine Umgebung zum Ausführen des Quellcodes. | JVM gebündelt in Software JDK und JRE. |
Java