Jvm vs jre
Java est un langage de programmation multiplateforme. Il adhère également au principe «écrire une fois, exécuter n'importe où». Le programme écrit en Java peut être compilé dans Java Bytecode par le compilateur Java. Ensuite, le bytecode peut être exécuté sur n'importe quelle plate-forme exécutant le JRE (Java Runtime Environment). JRE comprend le JVM (Java Virtual Machine), les bibliothèques de base (qui implémente l'API Java) et d'autres fichiers de support. JVM est une machine informatique abstraite qui agit comme un médiateur entre les plates-formes spécifiques JRE et le code Java.
Qu'est-ce que JVM?
JVM est un type de machine virtuelle utilisée par les machines pour exécuter des bytecodes Java. Selon Sun Microsystems (qui a développé Java jusqu'à ce qu'il soit acheté par Oracle, très récemment), il y a plus de 4 milliards d'appareils compatibles JVM au monde. Plus précisément, Java Virtual Machine est une machine informatique abstraite implémentée sur le matériel et le système d'exploitation standard. L'une des fonctionnalités importantes fournies par le JVM est la gestion automatisée des exceptions. En règle générale, une collection de bibliothèques standard accompagnent le JVM. En fait, JRE est un paquet contenant le JVM et les classes qui implémentent l'API Java. JVM est un composant très important, qui accueille la nature «compiler une fois, exécuter n'importe où» du langage de programmation Java. Tant que le JVM est en cours d'exécution, votre code Java peut fonctionner au-dessus, quelle que soit la plate-forme utilisée dans la machine. C'est pourquoi Java est appelé un langage multiplateforme ou multi-plate-forme.
Qu'est-ce que JRE?
JRE est l'environnement d'exécution sur lequel le code Java est exécuté. En règle générale, JRE est composé des classes de base standard JVM (qui implémentent l'API Java de base) et d'autres fichiers de support. Le type et la structure de JRE varient en fonction du système d'exploitation et de l'architecture CPU. Lorsque le code Java sera exécuté, le JRE communiquera avec le système d'exploitation, qui à son tour parlera avec les composants matériels correspondants. Avoir JRE installé sur votre système est un must pour exécuter n'importe quel code Java sur votre machine. Cependant, JRE n'inclut pas un compilateur, un débogueur ou tout autre outil nécessaire pour le développement de programmes Java (comme AppletViewer et Javac). Si vous avez besoin de développer des programmes en Java, vous devez avoir le JDK (kit de développement Java), qui comprend également le JRE.
Quelle est la différence entre JVM et JRE?
Bien que, dans le quotidien, les termes JVM et JRE soient utilisés de manière interchangeable, ils ont leurs différences. JVM est une machine virtuelle qui s'exécute au-dessus du système d'exploitation, tandis que JRE est l'environnement d'exécution d'exécution. JVM fait partie du JRE. La spécification JVM agit comme le lien entre l'implémentation JRE spécifique à la plate-forme et les bibliothèques Java standard. Par conséquent, JVM est l'entité qui fournit l'abstraction des détails de l'implémentation intérieure au programmeur. Et il est responsable de l'interprétation du bytecode compilé. Cependant, JVM a besoin des bibliothèques de base et d'autres fichiers de support pour exécuter le bytecode Java. Mais parfois, JRE est simplement identifié comme une implémentation de JVM.