376 Stimmen

Was ist der Unterschied zwischen JVM, JDK, JRE und OpenJDK?

Was ist der Unterschied zwischen JVM , JDK , JRE & OpenJDK ?

Ich habe in Java programmiert und bin auf diese Ausdrücke gestoßen. Was sind die Unterschiede zwischen ihnen?

4voto

user2807418 Punkte 41

JVM : Eine Spezifikation, die die Art und Weise/Ressourcen zur Ausführung eines Java-Programms beschreibt. Sie führt den Bytecode aus und macht Java plattformunabhängig. Dabei ist sie für verschiedene Plattformen unterschiedlich. JVM für Windows kann nicht wie JVM für UNIX funktionieren.

JRE : Implementierung der JVM. (JVM + Laufzeitbibliotheken)

JDK : JRE + Java-Compiler und andere wichtige Tools zur Erstellung eines Java-Programms von Grund auf

2voto

Vishnu Prasanth G Punkte 985

Einfaches Bild zur Veranschaulichung von JDK, JRE, JDK. JDK, JRE, JVM

JDK Im Allgemeinen wird dies nur in Entwicklungsumgebungen, wie z.B. bei Entwicklern, QA-Systemen in Echtzeit in Unternehmen installiert. Der ursprüngliche Code, der auf Servern läuft, hat kein JDK.

JRE ist ein Teil des JDK und kann auch unabhängig davon auf Servern installiert werden. Auf Echtzeit-Servern, die Benutzeranfragen bedienen, werden nur JRE und der von den Entwicklern entwickelte Code (im *.class-Format) installiert sein.

JVM Vom Entwickler entwickelter Code > getestet und auf Entwicklungsmaschinen ausgeführt. Die Ausführungsphase erfordert ein Medium für Java.

.class-Dateien sind kein nativer Code (Code, der von der CPU verstanden wird). Das WORA-Konzept (Write Once Run Anywhere) kann nicht erreicht werden, wenn eine Java-Datei direkt in nativen Code umgewandelt wird.

Der systemeigene Code unterscheidet sich von Betriebssystem zu Betriebssystem. Daher hat Java eine Zwischendatei namens .class und ein magisches Programm namens "JVM" . Es ist die Aufgabe der JVM, .class in nativen Code zu konvertieren.

2voto

Hugo Valenza M Punkte 149

Zusammengefasst:

  • JRE = JVM + Java-Pakete (wie util, math, lang, awt, swing usw.) + Laufzeitbibliotheken
  • JDK = JRE + Entwicklungs-/Debugging-Tools

Wenn Sie in Java entwickeln wollen, brauchen Sie das JDK, aber wenn Sie Java nur ausführen wollen, brauchen Sie die JRE.

2voto

Jain Punkte 201

JVM: Virtuelle Maschine von Java. Sagt der Maschine, was sie mit dem Java-Code tun soll. Sie können JVM nicht unverändert herunterladen. Sie wird in einer anderen Komponente verpackt.

JRE: Eine andere Komponente, auf die oben Bezug genommen wurde, ist die JRE. Sie besteht aus JVM und anderen Jars, um eine Laufzeitumgebung zu schaffen.

JDK: enthält JRE (das wiederum JVM enthält). Wenn Sie JDK erhalten, müssen Sie JRE und JVM nicht mehr separat installieren. Es enthält einen Compiler, der Ihre .java-Dateien zu .class-Dateien kompiliert

2voto

Nikhil Kumar Punkte 2248

JVM

Die JVM (Java Virtual Machine) ist eine abstrakte Maschine. Es handelt sich um eine Spezifikation, die eine Laufzeitumgebung bereitstellt, in der Java-Bytecode ausgeführt werden kann. JVMs sind für viele Hardware- und Software-Plattformen verfügbar.

JRE

JRE ist ein Akronym für Java Runtime Environment (Java-Laufzeitumgebung). Es wird verwendet, um eine Laufzeitumgebung bereitzustellen. Es ist die Implementierung von JVM. Es existiert physisch. Es enthält eine Reihe von Bibliotheken und anderen Dateien, die JVM zur Laufzeit verwendet.

JDK

JDK ist ein Akronym für Java Development Kit, das physisch existiert und JRE sowie Entwicklungswerkzeuge enthält.

Link :- http://www.javatpoint.com/difference-between-jdk-jre-and-jvm

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X