JDK et JRE : quelle est la différence ? Analyse d'une question fréquente des débutants

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

JDK ou JRE : que choisir pour un débutant ? Comprenons une fois pour toutes



Si vous commencez tout juste votre parcours dans le monde de Java, vous serez tôt ou tard confronté à la question : « Que dois-je télécharger exactement ? JDK, JRE, ou peut-être juste JVM ? ». Cette question est si populaire que sur Stack Overflow, elle a recueilli des milliers de vues et des dizaines de réponses. Et ce n'est pas un hasard : la confusion entre ces abréviations peut ruiner votre premier projet dès le départ.



Imaginez que Java est une cuisine. JRE est un restaurant déjà prêt où vous pouvez venir manger. JDK est la cuisine elle-même, avec des cuisinières, des couteaux et des livres de recettes, où vous pouvez préparer n'importe quoi. Vous sentez la différence ? Mettons tout à plat pour que vous n'ayez plus jamais de doute sur ce qu'il faut télécharger.



L'essentiel en bref : JVM, JRE, JDK



Avant de plonger dans les détails, comprenons la hiérarchie de base. Beaucoup de débutants pensent qu'il s'agit de trois produits différents. En réalité, c'est une poupée russe, où un composant est imbriqué dans un autre.



  • JVM (Java Virtual Machine) — c'est le cœur. La machine virtuelle qui exécute le bytecode. Elle est inutile seule, comme un moteur sans voiture.
  • JRE (Java Runtime Environment) — c'est JVM + un ensemble de bibliothèques standard (par exemple, java.lang, java.util). C'est l'environnement pour exécuter des programmes Java prêts à l'emploi.
  • JDK (Java Development Kit) — c'est JRE + les outils de développement : le compilateur javac, le débogueur jdb, l'utilitaire javadoc et d'autres.


Une formule simple à retenir :



JDK = JRE + Outils de développementJRE = JVM + Bibliothèques


Maintenant, lorsque vous voyez la ligne « Télécharger JDK » sur le site d'Oracle, vous savez qu'il contient tout le nécessaire à la fois pour exécuter et pour écrire du code.



Pourquoi JRE est-il nécessaire si JDK existe ?



Bonne question. Si JDK inclut JRE, pourquoi télécharger « juste l'environnement d'exécution » ? La réponse réside dans la taille et le public cible.



Imaginez que vous avez créé un super jeu en Java et que vous voulez le donner à un ami pour qu'il y joue. Votre ami n'est pas programmeur. Il n'a pas l'intention de compiler quoi que ce soit. Il a seulement besoin d'une « boîte » pour exécuter le fichier .jar. Lui faire transporter un JDK entier d'environ 300 Mo est inutile. JRE prend moins de place (environ 100-150 Mo) et ne contient pas d'outils superflus qui pourraient dérouter un utilisateur ordinaire.



C'est pourquoi sur les sites de téléchargement de Java, on propose JRE aux utilisateurs ordinaires. Et aux développeurs, on propose JDK. Dans les versions récentes (Java 11+), Oracle est allé encore plus loin en les fusionnant pratiquement, faisant du JDK un module « autonome ». Mais conceptuellement, la différence demeure.



Comment vérifier ce qui est installé ?



La méthode la plus simple est d'ouvrir un terminal (invite de commandes) et de taper quelques commandes. Cela vous fera gagner des heures de recherche Google lorsque quelque chose ne fonctionnera pas.



Étape 1. Vérifiez la version de Java (JRE) :



java -version


Si JRE est installé, vous verrez quelque chose comme :



java version "17.0.2" 2022-01-18 LTSJava(TM) SE Runtime Environment (build 17.0.2+8-LTS-86)


Étape 2. Vérifiez le compilateur (JDK) :



javac -version


Si vous voyez :



javac 17.0.2


Félicitations ! JDK est installé. Si la commande n'est pas trouvée, vous avez soit uniquement JRE, soit Java n'est pas configuré dans les variables d'environnement (PATH).



Exemple concret : pourquoi sans JDK vous ne pouvez pas écrire de code



Imaginons une situation. Vous avez installé uniquement JRE (par exemple, pour jouer à Minecraft). Vous ouvrez le Bloc-notes et écrivez votre premier « Hello, World! » :



public class HelloWorld {    public static void main(String[] args) {        System.out.println("Bonjour le monde !");    }}


Vous enregistrez le fichier sous HelloWorld.java.

Blogs

Book Recommendations