Architecture de la plateforme Java : JVM, JRE et JDK
Prérequis
Notions de base en informatique : connaissance du rôle d'un compilateur et d'un système d'exploitation.
Objectifs
Distinguer les trois composants fondamentaux de la plateforme Java (JVM, JRE, JDK), comprendre leur rôle respectif et leur relation d'imbrication.
Vocabulaire
| Sigle | Signification | Rôle principal |
|---|---|---|
| JVM | Java Virtual Machine | Exécute le Bytecode Java |
| JRE | Java Runtime Environment | Fournit l'environnement d'exécution (JVM + bibliothèques) |
| JDK | Java Development Kit | Kit complet de développement (JRE + outils) |
1. La JVM — Java Virtual Machine
1.1 Processus de compilation et d'exécution
Lorsque vous exécutez un programme Java, deux étapes se succèdent :
- Le compilateur Java transforme votre code source (
.java) en Bytecode (.class). - La JVM convertit ce Bytecode en code machine natif — les instructions directement exécutables par le processeur.
# Étape 1 — Compilation : .java → .class (Bytecode)
javac MonProgramme.java
# Étape 2 — Exécution : la JVM interprète le Bytecode
java MonProgramme

1.2 Indépendance de la plateforme — WORA
Java est un langage indépendant de la plateforme précisément parce que le code est compilé pour la JVM — une machine abstraite universelle — et non pour le matériel physique de votre ordinateur. C'est la JVM elle-même qui se charge de la traduction vers les instructions spécifiques à chaque processeur (x86, ARM, etc.).
2. Le JRE — Java Runtime Environment

2.1 Composition du JRE
| Composant | Rôle |
|---|---|
| JVM | Exécute le Bytecode |
| Bibliothèques standard | Classes Java essentielles (java.lang, java.util, java.io…) |
| Fichiers de configuration | Propriétés de sécurité, paramètres réseau, etc. |
.jar par exemple) sans avoir besoin de les développer, le JRE seul est suffisant.jlink qui ne contient que les modules nécessaires à votre application.3. Le JDK — Java Development Kit

3.1 Outils inclus dans le JDK
| Outil | Commande | Rôle |
|---|---|---|
| Compilateur | javac |
Compile le code source .java en Bytecode .class |
| Interpréteur | java |
Lance l'exécution d'un programme via la JVM |
| Documentation | javadoc |
Génère la documentation HTML depuis les commentaires |
| Archiveur | jar |
Crée et manipule les archives .jar |
| Débogueur | jdb |
Débogage interactif des programmes Java |
| Profileur | jfr |
Java Flight Recorder — analyse des performances |
Exemple — Compiler et exécuter un programme Java
public class Bonjour {
public static void main(String[] args) {
System.out.println("Bonjour, Java !");
}
}
# Compilation avec le JDK
javac Bonjour.java
# Exécution via la JVM (incluse dans le JDK)
java Bonjour
Bonjour, Java !
4. Relation entre JVM, JRE et JDK
JDK ⊇ JRE ⊇ JVM
Le JDK contient le JRE qui contient lui-même la JVM. Installer le JDK installe automatiquement les deux autres composants.
| Besoin | Composant à installer |
|---|---|
Exécuter un programme Java (.jar) |
JRE (ou JDK) |
| Développer et compiler du code Java | JDK (contient tout) |
| Comprendre l'exécution du Bytecode | JVM (incluse dans JRE et JDK) |
5. Exercice de vérification
JVM, JRE ou JDK ?
Pour chacune des situations suivantes, indiquez quel composant il faut installer parmi JVM, JRE et JDK, et justifiez brièvement votre réponse.
Travail demandé
- Un utilisateur souhaite lancer un logiciel de comptabilité livré sous forme de fichier
.jar. - Un développeur veut créer une nouvelle application Java from scratch.
- Un serveur de production n'a besoin que d'exécuter une application Java déjà compilée.
- Un stagiaire veut générer la documentation JavaDoc de son projet.
| # | Situation | Composant | Justification |
|---|---|---|---|
| 1 | Lancer un .jar |
JRE | Exécution uniquement — pas besoin des outils de développement |
| 2 | Créer une application | JDK | Nécessite javac, le débogueur, JavaDoc, etc. |
| 3 | Serveur de production | JRE | Exécution uniquement — le JDK apporterait des outils inutiles |
| 4 | Générer JavaDoc | JDK | javadoc est un outil du JDK, absent du JRE seul |
jlink permet ensuite de créer un runtime minimal personnalisé.L'essentiel en bref
La plateforme Java repose sur trois composants imbriqués : la JVM exécute le Bytecode et garantit l'indépendance vis-à-vis du matériel (principe WORA) ; le JRE enrichit la JVM avec les bibliothèques standard nécessaires à l'exécution des programmes ; le JDK complète l'ensemble avec les outils de développement (javac, javadoc, jar…). En pratique, installez toujours le JDK — de préférence dans sa dernière version LTS.
Discussion (0)
Soyez le premier à laisser un commentaire !
Laisser un commentaire
Votre commentaire sera visible après modération.