web-dev-qa-db-fra.com

Différence entre JVM et HotSpot?

En quoi consiste exactement HotSpot et quel est son rapport avec JVM et OpenJDK? Est-ce une bibliothèque? Qu'est-ce que cela fait exactement?

En outre, quelle est la différence entre OpenJDK et HotSpot?

130
Justin

La définition de ce qui est exactement un Java Machine virtuelle est indiquée dans le Spécification de la machine virtuelle Java

La JVM est par définition une machine virtuelle , i. e. une machine logicielle qui simule ce qu'une machine réelle fait. Comme une vraie machine, il possède un jeu d'instructions , une architecture d'ordinateur virtuel et un modèle d'exécution. Il est capable d'exécuter du code écrit avec ce jeu d'instructions virtuel, un peu comme une vraie machine peut exécuter du code machine.

HotSpot est une implémentation du concept de JVM. Il a été développé à l'origine par Sun et appartient maintenant à Oracle. Il existe d'autres implémentations de la spécification JVM, telles que JRockit , IBM J9 , parmi beaucoup d'autres.

Voir Liste des Java de la machine virtuelle

OpenJDK est un projet dans lequel une implémentation Open Source de HotSpot (et de nombreux autres éléments du JDK, par exemple un compilateur, des API, des outils, etc.) est développée.

136
Edwin Dalorzo

OpenJDK (Ouvrir Java Kit de développement) est une implémentation source libre et ouverte de la plate-forme Java Platform, Standard. Edition (Java SE). L’openjdk est un projet lancé par Sun Microsystems, actuellement pris en charge par de nombreuses entreprises et la communauté pour la construction d’un Java Kit de développement absolument en open source. Selon le documentation officielle .

OpenJDK est une implémentation à code source ouvert des spécifications Java Platform, Standard Edition (Java SE). En mai 2007, Sun a publié une version entièrement constructible de Java Kit de développement (JDK) pour Java SE à la communauté OpenJDK en tant que logiciel libre sous la licence GNU General Public License. version deux (GPLv2). Sun a annoncé la composition du conseil d'administration provisoire de la communauté OpenJDK. Sun a également annoncé que les implémentations basées sur OpenJDK pouvaient utiliser le kit de compatibilité technique Java SE 6 (JCK) pour établir la compatibilité avec la spécification Java SE 6.

Le projet OpenJDK est composé de plusieurs composants - HotSpot (la machine virtuelle) , la bibliothèque de classes Java et le compilateur javac Java.Pour de plus amples informations, visitez le site site .

La JVM actuelle fournie par Sun/Oracle est appelée HotSpot car elle recherche des points chauds d'utilisation dans le code (endroits où le code est utilisé de manière plus intensive) pour " juste-à-temps "optimisation. Le wikipedia , HotSpot, publié sous le nom "Java HotSpot Performance Engine", est une machine virtuelle Java pour les ordinateurs de bureau et les serveurs, maintenue et distribuée par Oracle Corporation.

22
NINCOMPOOP

HotSpot est, comme mentionné ci-dessus, une implémentation multi-plateforme du concept Java machine virtuelle (JVM)), et est distribué avec OpenJDK (Java Developer Kit), sous le GNU: HotSpot est écrit principalement en C++ et a été développé à l’origine sous Sun Microsystems et sous le projet OpenJDK, à l’adresse www.Java.net. La machine virtuelle HotSpot est disponible en tant que complément. for Java 1.2, et ultérieur a été utilisé comme machine virtuelle Java par défaut dans Java 1.3. La machine virtuelle Java est actuellement en version 7, version b147, et a une communauté de développement derrière elle.

Pour plus d'informations, allez à: https://www.Java.net/

Bon codage!

8

JVM est une machine abstraite (spécifications). HotSpot, OpenJDK et JRockit sont des implémentations de JVM.

Implémentations libres et open source

  • HotSpot , la référence principale Java VM implémentation

  • OpenJDK - Open Java Le kit de développement est une implémentation libre et à code source ouvert concédée sous la licence GNU Licence publique générale (GNU GPL) avec une exception de liaison.

Implémentations propriétaires

  • JRockit (à l’origine de Appeal Virtual Machines) acquis par Oracle pour Linux, Windows et Solaris

pour plus implémentations
link explique les différences entre HotSpot et JRocket

7
Premraj