Quelle est la différence entre la JDK, la JRE, la JVM et le JIT de Java ?

JDK, la JRE, la JVM et le JIT de Java sont trois composants indispensables de la plateforme Java et ils fonctionnent ensemble dans les applications Java

>
 -  Publié le
Quelle est la différence entre la JDK, la JRE, la JVM et le JIT de Java ?

Java serait utilisé par près de 70 % des développeurs et le langage noterait une progression avec 1,6 million de nouveaux développeurs depuis 2017. © Académie WS - academiews.fr

Si vous démarrez en Java, vous avez probablement entendu parler des thermes JDK, JRE, JVM ou peut-être même JIT. Mais à quoi correspond-il vraiment? Si vous n’êtes pas sur de savoir, prenez quelques instants à regarder cette vidéo, car ces thèmes vous aideront grandement à comprendre l’exécution d’une application en Java. Je suis Samih de l’Académie WS et je vais tenter de vous expliquer tout cela sans blabla, vous êtes prêts? C’est partit !

Pour développer une application une application Java, il vous faudra télécharger une JDK pour Java Development Kit qui regroupe un ensemble de bibliothèques logicielles de base du langage de programmation Java et les outils avec lesquels le code Java peut être compilé, transformé en bytecode pour la machine virtuelle de Java plus connue sous le nom de JVM pour Java Virtual Machine qui exécute les programmes.

L’environnement de développement Java ou JRE crée la machine virtuelle Java ou JVM et s'assure que les dépendances sont disponibles pour les programmes Java. Ces trois composants sont indispensables dans la plateforme Java et fonctionnent ensemble dans les applications Java.

Le kit de développement Java ou JDK permet de créer des programmes Java qui peuvent être exécutés par la JVM et le JRE. Les développeurs utilisent alors le JDK pour écrire leurs applications et la JVM pour les débogguer et les optimiser par exemple. Il faut savoir que le JRE tourne essentiellement en arrière-plan, mais il est possible de l'utiliser pour surveiller les applications et configurer la mémoire. 

En conclusion la JDK inclue la JRE, un interpreteur (java), un compiler (javac), un archiver (jar), et un générateur de documentation (javadoc) et d’autres outils tierces. La JRE quand à elle se compose principalement de la JVM, de certains fichiers de supports de classes obligatoires.

Et le JIT dans tout ça?

Le compilateur JIT (Just-In-Time) est un composant de l'environnement d'exécution qui améliore les performances des applications Java™ en repoussant au dernier moment (celui de l'exécution) la compilation des bytecodes en code machine natif.

Il permet à la JVM de démarrer rapidement tout en réalisant de meilleures performances. On parle alors de compilation à la volé qui est une technique visant à améliorer la performance de systèmes bytecode-compilés.

Pour information, la compilation à la volée se fonde sur deux anciennes idées : la compilation de bytecode et la compilation dynamique mais ne nous écartons pas trop.

Et en parlant de JVM, si je vous évoque les termes Garbage Collector ça vous dit quelque chose? Pour ne rien rater sur le fonctionnement de la machine virtuelle de Java je vous propose de rester connecter et de regarder attentivement la vidéo explicative sur la fameuse JVM :)

En savoir plus

Envie d'en savoir plus sur le sujet? retrouvez l'intégralité de la formation vidéo liée à la thématique 'Développer une application en Java' sur le site de l'Académie WS !

Commentaires :

Recevez par email toute l’actualité du digital

En cliquant sur "S'inscrire", vous acceptez les CGU ainsi que notre politique de confidentialité décrivant la finalité des traitements de vos données personnelles.

Abonnez-vous à la newsletter de la réponse numérique