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 !