Quelle est la différence entre JVM , JDK , JRE et OpenJDK ?
Je programmais en Java et j'ai rencontré ces phrases, quelles sont les différences entre elles?
java
jvm
difference
Alireza
la source
la source
Réponses:
JVM
La machine virtuelle Java (JVM) est la machine virtuelle qui exécute les bytecodes Java. La JVM ne comprend pas le code source Java; c'est pourquoi vous devez compiler vos
*.java
fichiers pour obtenir des*.class
fichiers contenant les bytecodes compris par la JVM. C'est également l'entité qui permet à Java d'être un «langage portable» ( écrire une fois, exécuter n'importe où ). En effet, il existe des implémentations spécifiques de la JVM pour différents systèmes (Windows, Linux, macOS, voir la liste Wikipedia ), le but est qu'avec les mêmes bytecodes ils donnent tous les mêmes résultats.JDK et JRE
Pour expliquer la différence entre JDK et JRE, le mieux est de lire la documentation Oracle et de consulter le schéma:
Notez qu'Oracle n'est pas le seul à fournir des JDK.
OpenJDK
OpenJDK est une implémentation open source du JDK et la base du Oracle JDK. Il n'y a presque pas de différence entre Oracle JDK et OpenJDK.
Les différences sont indiquées dans ce blog :
Mise à jour pour JDK 11 - Un article de Donald Smith essaie de lever toute ambiguïté entre Oracle JDK et OpenJDK d'Oracle: https://blogs.oracle.com/java-platform-group/oracle-jdk-releases-for-java-11- et ensuite
la source
JVM est la machine virtuelle Java - elle exécute en fait Java ByteCode.
JRE est l'environnement d'exécution Java - il contient, entre autres, une machine virtuelle Java et c'est ce dont vous avez besoin pour exécuter un programme Java.
JDK est le kit de développement Java - c'est le JRE, mais avec javac (qui est ce dont vous avez besoin pour compiler le code source Java) et d'autres outils de programmation ajoutés.
OpenJDK est une implémentation JDK spécifique.
la source
other things
contenu d'une JVM. Que sont-ils ? Cet article répond-il pleinement à cette question - javabeat.net/what-is-the-difference-between-jrejvm-and-jdkJDK (Java Development Kit)
Java Developer Kit contient les outils nécessaires pour développer les programmes Java et JRE pour exécuter les programmes. Les outils incluent le compilateur (javac.exe), le lanceur d'applications Java (java.exe), Appletviewer, etc…
Le compilateur convertit le code java en code octet. Le lanceur d'applications Java ouvre un JRE, charge la classe et appelle sa méthode principale.
Vous avez besoin de JDK, si vous voulez écrire vos propres programmes et les compiler. Pour exécuter des programmes java, JRE est suffisant.
JRE est destiné à l'exécution de fichiers Java
ie JRE = JVM + Java Packages Classes (comme util, math, lang, awt, swing etc) + bibliothèques d'exécution.
JDK est principalement destiné au développement java. C'est-à-dire que vous pouvez créer un fichier Java (à l'aide de packages Java), compiler un fichier Java et exécuter un fichier java.
JRE (Java Runtime Environment)
Java Runtime Environment contient JVM, des bibliothèques de classes et d'autres fichiers de prise en charge. Il ne contient aucun outil de développement tel que compilateur, débogueur, etc. En fait, JVM exécute le programme et utilise les bibliothèques de classes et autres fichiers de prise en charge fournis dans JRE. Si vous souhaitez exécuter un programme Java, vous devez avoir installé JRE dans le système
La machine virtuelle Java fournit une manière indépendante de la plate-forme d'exécuter du code; Cela signifie compiler une fois sur n'importe quelle machine et l'exécuter n'importe où (n'importe quelle machine).
JVM (machine virtuelle Java)
Comme nous le savons tous lorsque nous compilons un fichier Java, la sortie n'est pas un «exe» mais un fichier «.class». Le fichier «.class» se compose de codes d'octets Java compréhensibles par JVM. La machine virtuelle Java interprète le code octet dans le code machine en fonction du système d'exploitation sous-jacent et de la combinaison matérielle. Il est responsable de toutes les choses comme la récupération de place, la vérification des limites des tableaux, etc… JVM dépend de la plate-forme.
La JVM est appelée «virtuelle» car elle fournit une interface machine qui ne dépend pas du système d'exploitation sous-jacent et de l'architecture matérielle de la machine. Cette indépendance vis-à-vis du matériel et du système d'exploitation est la pierre angulaire de la valeur en écriture unique exécutable n'importe où des programmes Java.
Il existe différentes implémentations JVM. Celles-ci peuvent différer dans des domaines tels que les performances, la fiabilité, la vitesse, etc. définir une manière spécifique de le faire.
la source
Une machine virtuelle Java (JVM) est une machine virtuelle qui peut exécuter Java ByteCode. Il s'agit du composant d'exécution de code de la plate-forme logicielle Java.
Le kit de développement Java (JDK) est un produit Oracle Corporation destiné aux développeurs Java. Depuis son introduction, Java est de loin le kit de développement logiciel (SDK) Java le plus utilisé.
Java Runtime Environment , est également appelé Java Runtime, Runtime Environment
OpenJDK (Open Java Development Kit) est une implémentation gratuite et open source du langage de programmation Java. C'est le résultat d'un effort que Sun Microsystems a commencé en 2006. L'implémentation est sous licence GNU General Public License (GPL) avec une exception de liaison.
la source
JVM est le code Java de la machine virtuelle exécuté sur
JRE est l'environnement (bibliothèques standard et JVM) requis pour exécuter les applications Java
JDK est le JRE avec des outils de développement et des documentations
OpenJDK est une version open source du JDK, contrairement au JDK commun détenu par Oracle
la source
JDK (Java Development Kit):
JRE (Java Runtime Environment)
Java Runtime Environment contient JVM, des bibliothèques de classes et d'autres fichiers de prise en charge. JRE est destiné à l'exécution de fichiers Java.
JVM (machine virtuelle Java)
La machine virtuelle Java interprète le code d'octet dans le code machine en fonction du système d'exploitation sous-jacent et de la combinaison matérielle. Il est responsable de toutes les choses comme le ramasse-miettes, la vérification des limites des tableaux, etc… Java Virtual Machine fournit une manière indépendante de la plate-forme d'exécuter du code.
la source
JDK - Compile java en ByteCode. Se compose de débogueurs, de compilateurs, etc.
JVM - Exécute le code d'octet. La JVM est celle qui rend la plateforme java indépendante. Mais JVM varie pour les plates-formes.
JRE - JVM avec des bibliothèques d'exécution java pour exécuter des programmes java.
la source
Un autre aspect mérite d'être mentionné:
JDK (kit de développement java)
Vous en aurez besoin à des fins de développement comme son nom l'indique.
Par exemple: une société de logiciels aura JDK installé sur son ordinateur car elle devra développer de nouveaux logiciels qui impliquent également de compiler et d'exécuter leurs programmes Java.
On peut donc dire que JDK = JRE + JVM.
JRE (environnement d'exécution java)
Il est nécessaire pour exécuter des programmes Java. Vous ne pouvez pas compiler de programmes Java avec.
Par exemple: un utilisateur d'ordinateur ordinaire qui souhaite exécuter des jeux en ligne aura alors besoin de JRE dans son système pour exécuter des programmes Java.
JVM (machine virtuelle java)
Comme vous le savez peut-être, il exécute les bytecodes. Il rend la plate-forme Java indépendante car il exécute le
.class
fichier que vous obtenez après avoir compilé le programme Java, que vous le compiliez sur Windows, Mac ou Linux.Ouvrir JDK
Eh bien, comme je l'ai dit plus haut. Maintenant, JDK est fabriqué par différentes sociétés, l'une d'entre elles qui se trouve être une source ouverte et gratuite pour un usage public est OpenJDK, tandis que d'autres sont JRockit JDK ou IBM JDK d'Oracle Corporation.
Cependant, ils peuvent tous sembler identiques à l'utilisateur général.
Conclusion
Si vous êtes un programmeur Java, vous aurez besoin de JDK dans votre système et ce package comprendra également JRE et JVM, mais si vous êtes un utilisateur normal qui aime jouer à des jeux en ligne, vous n'aurez besoin que de JRE et ce package ne contiendra pas de JDK. .
En d'autres termes, JDK est grand-père JRE est père et JVM est leur fils.
la source
Java est le langage et inclut une syntaxe stricte et fortement typée avec laquelle vous devriez maintenant être très familier.
Java 2 Platform, Standard Edition, également connu sous le nom de J2SE, faisait référence à la plate-forme et incluait les classes dans les packages java.lang et java.io, entre autres. C'est le bloc de construction sur lequel les applications Java ont été construites.
Une machine virtuelle Java, ou JVM, est une machine virtuelle logicielle qui exécute du code Java compilé. Comme le code Java compilé n'est qu'un bytecode, la JVM est responsable de la compilation de ce bytecode en code machine avant de l'exécuter. (Ceci est souvent appelé le compilateur Just In Time ou le compilateur JIT.) La machine virtuelle Java prend également en charge la gestion de la mémoire afin que le code d'application n'ait pas à le faire.
Le kit de développement Java, ou JDK, était et reste le logiciel utilisé par les développeurs Java pour créer des applications Java. Il contient un compilateur de langage Java, un générateur de documentation, des outils pour travailler avec du code natif et (généralement) le code source Java de la plate-forme pour activer le débogage des classes de plate-forme.
L'environnement d'exécution Java, ou JRE, était et reste le morceau de logiciel que les utilisateurs finaux téléchargent pour exécuter des applications Java compilées. Il comprend une machine virtuelle Java mais ne contient aucun des outils de développement fournis dans le JDK. Le JDK, cependant, contient un JRE.
la source
JVM: Une spécification qui décrit la manière / les ressources pour exécuter un programme java. Exécute réellement le code octet et rend la plate-forme Java indépendante. Ce faisant, c'est différent pour différentes plates-formes. JVM pour Windows ne peut pas fonctionner comme JVM pour UNIX.
JRE: Implémentation de JVM. (Bibliothèques d'exécution JVM +)
JDK: compilateur JRE + java et autres outils essentiels pour construire un programme java à partir de zéro
la source
JVM : cela signifie en fait l'interpréteur de code octet. Il dépend de la plate-forme. Par exemple: sur la plate-forme Windows, le processus " java.exe " ou " javaw.exe " est le processus jvm.
JDK : est une boîte à outils contenant les bibliothèques et les utilitaires nécessaires pour développer et exécuter un programme / une application java
JRE : est l'environnement d'exécution pour une application Java, il ne prend en charge que les dépendances d'exécution, y compris jvm pour le programme compilé. Si nous voulons compiler un programme java, nous avons besoin de jdk.
la source
JVM: machine virtuelle de java. indique à la machine quoi faire avec le code Java. Vous ne pouvez pas télécharger JVM tel quel. Il est livré dans un autre composant.
JRE: Un autre composant mentionné ci-dessus est le JRE. C'est JVM + autres jars pour créer un environnement d'exécution
JDK: contient JRE (qui à son tour contient JVM). Une fois que vous obtenez JDK, vous n'avez pas besoin d'installer JRE et JVM séparément. Il contient un compilateur qui compile vos fichiers .java en fichiers .class
la source
JVM
JVM (Java Virtual Machine) est une machine abstraite. Il s'agit d'une spécification qui fournit un environnement d'exécution dans lequel le bytecode java peut être exécuté. Les JVM sont disponibles pour de nombreuses plates-formes matérielles et logicielles.
JRE
JRE est un acronyme pour Java Runtime Environment.Il est utilisé pour fournir l'environnement d'exécution.Il s'agit de l'implémentation de JVM.Il existe physiquement.Il contient un ensemble de bibliothèques + d'autres fichiers que JVM utilise lors de l'exécution.
JDK
JDK est l'acronyme de Java Development Kit, il existe physiquement et contient des outils de développement JRE +.
Lien: - http://www.javatpoint.com/difference-between-jdk-jre-and-jvm
la source
En résumé:
Si vous voulez développer en java, vous avez besoin du JDK, mais si vous voulez juste exécuter java, vous avez besoin du JRE.
la source
JVM Java Virtual Machine, exécute en fait le bytecode java. Il s'agit du bloc d'exécution sur la plateforme JAVA. Il convertit le bytecode en code machine.
JRE Java Runtime Environment, fournit les exigences minimales pour l'exécution d'une application Java; il se compose de la machine virtuelle Java (JVM), des classes principales et des fichiers de prise en charge.
JDK Java Development Kit, il possède tous les outils pour développer votre logiciel d'application. C'est comme JRE + JVM
Open JDK est une implémentation gratuite et open source de la plate-forme Java.
la source
En termes simples: - JDK = JRE + outils de développement / débogage , où JDK est notre package complet pour travailler avec Java, de la création à la compilation jusqu'à son exécution.
Remarque: - Que nous installions JDK ou JRE, JVM serait fourni avec les packages et JVM est la partie où le compilateur JIT convertit le code d'octet en code spécifique à la machine.
Il suffit de lire l'article sur JDK, JRE, JVM et JIT
la source
JDK : le package complet dont vous avez besoin pour écrire et exécuter du code java
OpenJDK : une implémentation indépendante de JDK pour le rendre bien meilleur
JVM : convertit le code Java en bytecode et fournit les spécifications qui indiquent comment un code Java doit être compilé, chargé, vérifié, vérifié pour les erreurs et exécuté.
JRE : implémentation de la JVM avec laquelle certaines bibliothèques Java sont utilisées pour exécuter le programme
la source
JRE exécute l'application mais JVM lit les instructions ligne par ligne, c'est donc l'interpréteur.
JDK = JRE + Outils de développement
JRE = JVM + Classes de bibliothèque
la source
JVM est abrégé en Java Virtual Machine , JVM est le composant principal de l'architecture java. JVM est écrit en langage de programmation C. Le compilateur Java produit le code d'octet pour JVM. JVM lisant le code d'octet vérifiant le code d'octet et liant le code avec l'ibrary.
JRE est abrégé en Java Runtime Environment . c'est fournir un environnement au moment de l'exécution. Il existe physiquement. Il contient JVM + ensemble de bibliothèques (jar) + autres fichiers.
JDK est abrégé en Java Development Kit . c'est développer des applications java. Et aussi Débogage et surveillance des applications java. JDK contient des outils de développement JRE + (javac, java)
OpenJDK OpenJDK est une version open source de sun JDK. Oracle JDK est le JDK officiel de Sun.
la source