it-swarm.com.de

Unterschied zwischen JVM und HotSpot?

Was genau ist HotSpot und in welcher Beziehung steht es zu JVM und OpenJDK? Ist es eine Bibliothek? Was genau macht es?

Was ist der Unterschied zwischen OpenJDK und HotSpot?

130
Justin

Die Definition, was genau eine Java Virtual Machine ist in der Java Virtual Machine Specification angegeben

Die JVM ist per Definition eine virtuelle Maschine , i. e. Eine Software-Maschine, die simuliert, was eine echte Maschine tut. Wie eine reale Maschine verfügt sie über ein Befehlssatz , eine virtuelle Computerarchitektur und ein Ausführungsmodell. Es ist in der Lage, Code auszuführen, der mit diesem virtuellen Befehlssatz geschrieben wurde, so wie eine reale Maschine Maschinencode ausführen kann.

HotSpot ist eine Implementierung des JVM-Konzepts. Es wurde ursprünglich von Sun entwickelt und gehört jetzt Oracle. Es gibt andere Implementierungen der JVM-Spezifikation, wie unter anderem JRockit , IBM J9 .

Siehe Liste von Java Virtual Machine Implementations

Das OpenJDK ist ein Projekt, unter dem eine Open Source-Implementierung von HotSpot (und vielen anderen Teilen des JDK, z. B. Compiler, APIs, Tools usw.) entwickelt wird.

136
Edwin Dalorzo

OpenJDK (Open Java Development Kit) ist eine kostenlose Open Source-Implementierung der Java Platform, Standard Edition (Java SE) Das Projekt wurde von Sun Microsystems gestartet und wird heutzutage von vielen Unternehmen und der Community für die Erstellung eines Java - Entwicklungskits unter Open Source-Bedingungen unterstützt. Gemäß offizielle Dokumentation .

OpenJDK ist eine Open-Source-Implementierung der Java Platform, Standard Edition (Java SE) -Spezifikationen. Im Mai 2007 veröffentlichte Sun der OpenJDK-Community eine vollständig baubare Java Development Kit (JDK) -Version für Java SE als freie Software unter der GNU General Public License Version zwei (GPLv2). Sun gab das Interim Governing Board für die OpenJDK-Community bekannt. Sun gab außerdem bekannt, dass OpenJDK-basierte Implementierungen das Java SE 6 Technical Compatibility Kit (JCK) verwenden können, um die Kompatibilität mit der Java SE 6-Spezifikation herzustellen.

Das OpenJDK-Projekt besteht aus einer Reihe von Komponenten - HotSpot (der virtuellen Maschine) , der Klassenbibliothek Java und der javac Java - Compiler. Weitere Informationen finden Sie unter site .

Die aktuelle von Sun/Oracle bereitgestellte JVM heißt HotSpot , da sie nach Hotspots im Code (Stellen, an denen Code intensiver verwendet wird) für "Just-in-Time" sucht. Optimierung. Aus wikipedia , HotSpot, veröffentlicht als "Java HotSpot Performance Engine", ist eine Java virtuelle Maschine für Desktops und Server, die von der Oracle Corporation verwaltet und vertrieben wird.

22
NINCOMPOOP

HotSpot ist, wie oben erwähnt, eine plattformübergreifende Implementierung des Java Virtual Machine (JVM) -Konzepts) und wird mit dem OpenJDK (Java Developer Kit) unter dem GNU General Public License. HotSpot ist hauptsächlich in C++ geschrieben und wurde ursprünglich unter Sun Microsystems entwickelt. Es wird derzeit unter dem OpenJDK-Projekt unter www.Java.net entwickelt. Die HotSpot-JVM war als Add-On verfügbar für Java 1.2 und höher wurde als Standard-Sun-JVM in Java 1.3 verwendet. Die JVM ist derzeit in Version 7, Build b147, und hat eine aktive Entwicklungsgemeinschaft dahinter.

Weitere Informationen erhalten Sie unter: https://www.Java.net/

Viel Spaß beim Codieren!

JVM ist eine abstrakte Maschine (Spezifikationen). HotSpot, OpenJDK und JRockit sind Implementierungen von JVM.

Freie und Open Source Implementierungen

  • HotSpot , die primäre Referenz Java VM Implementierung

  • OpenJDK - Open Java Development Kit ist eine freie und Open-Source-Implementierung, die unter der Lizenz GNU General Public License (GNU GPL) mit einer Verknüpfungsausnahme.

Eigene Implementierungen

  • JRockit (ursprünglich von Appeal Virtual Machines) wurde von Oracle für Linux, Windows und Solaris erworben

für mehr Implementierungen
Link erklärt die Unterschiede zwischen HotSpot und JRocket

7
Premraj