Différence entre JVM et JRE

JVM vs JRE

Java est un langage de programmation multiplateforme. Il adhère également au principe "écrire une fois, courir n'importe où". Le programme écrit en Java peut être compilé en Java bytecode par le compilateur Java. Ensuite, le bytecode peut être exécuté sur n'importe quelle plateforme exécutant le JRE (Java Runtime Environment). JRE inclut la machine virtuelle Java (JVM), 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 la JVM?

JVM est un type de machine virtuelle utilisé par les machines pour exécuter le bytecode Java. Selon Sun Microsystems (qui a développé Java jusqu'à son achat par Oracle, très récemment), il existe plus de 4 milliards d'appareils compatibles JVM dans le monde. Plus spécifiquement, Java Virtual Machine est une machine informatique abstraite implémentée sur un matériel et un système d'exploitation standard. L'une des fonctionnalités importantes fournies par la JVM est la gestion automatisée des exceptions. Généralement, une collection de bibliothèques standard accompagne la JVM. En fait, JRE est un ensemble contenant la JVM et les classes qui implémentent l'API Java. JVM est un composant très important, qui permet de "compiler une fois, exécuter n'importe où" du langage de programmation Java. Tant que la JVM est en cours d'exécution, votre code Java peut s'exécuter sur le dessus, quelle que soit la plate-forme utilisée dans la machine. C'est pourquoi Java est appelé un langage multi-plateforme ou multi-plateforme.

Qu'est-ce que JRE?

JRE est l'environnement d'exécution sur lequel le code Java est exécuté. Généralement, JRE est composé de la JVM, des classes de base standard (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 du processeur. Lorsque le code Java est exécuté, le JRE communiquera avec le système d'exploitation, qui à son tour parlera avec les composants matériels correspondants. L'installation de JRE sur votre système est indispensable pour exécuter tout code Java sur votre machine. Toutefois, JRE n'inclut pas de compilateur, de débogueur ou d'autres outils nécessaires au développement de programmes Java (comme appletviewer et javac). Si vous avez besoin de développer des programmes en Java, vous devez disposer du JDK (Java Development Kit), qui inclut également le JRE.

Quelle est la différence entre JVM et JRE?

Bien que, dans leur utilisation quotidienne, les termes JVM et JRE sont utilisés de manière interchangeable, ils ont leurs différences. JVM est une machine virtuelle qui s'exécute sur le système d'exploitation, tandis que JRE est l'environnement d'exécution. La JVM fait partie du JRE. La spécification JVM sert de lien entre l'implémentation JRE propre à la plate-forme et les bibliothèques Java standard.Par conséquent, JVM est l'entité qui fournit l'abstraction des détails d'implémentation interne 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.