Différences entre JDK, JRE et JVM
Qu'est-ce que la JVM ?
JVM (Java Virtual Machine) est une machine abstraite qui permet à votre ordinateur d’exécuter un programme Java.
Lorsque vous exécutez le programme Java, le compilateur Java compile d'abord votre code Java(.java) en Bytecode (.class). Ensuite, la machine virtuelle Java convertit le Bytecode en code machine natif (ensemble d'instructions que le processeur d'un ordinateur exécute directement).
Java est un langage indépendant de la plate-forme. C'est parce que lorsque vous écrivez du code Java, il est finalement écrit pour la JVM mais pas pour votre machine physique (ordinateur).
Les applications Java sont appelées WORA (Write Once Run Anywhere). Cela signifie qu'un programmeur peut développer du code Java sur un système et s'attendre à ce qu'il s'exécute sur tout autre système compatible Java sans aucun ajustement. Tout cela est possible grâce à la JVM.
Qu'est-ce que JRE ?
JRE (Java Runtime Environment) est un progiciel qui fournit des bibliothèques de classes Java, ainsi que JVM (Java Virtual Machine), ainsi que d'autres composants permettant d'exécuter des applications écrites en programmation Java.
JRE est le sur-ensemble de JVM.
Si vous devez exécuter des programmes Java sans les développer, JRE est ce dont vous avez besoin.
Qu'est-ce que JDK ?
JDK (Java Development Kit) est un kit de développement logiciel permettant de développer des applications en Java. Lorsque vous téléchargez JDK, JRE est également téléchargé et vous n'avez pas besoin de le télécharger séparément. En plus de JRE, JDK contient également plusieurs outils de développement (compilateurs, JavaDoc, Java Debugger, etc.).