Ces trois acronymes décrivent des couches imbriquées de la plateforme Java. Le moyen le plus simple de s'en souvenir : JDK contient JRE, qui contient JVM — chacun ajoute des capacités à celui qu'il enveloppe.
Le modèle imbriqué
┌─────────────────────────── JDK (Development Kit) ───────────────────┐
│ javac (compiler), debugger, javadoc, jar, other dev tools │
│ ┌─────────────────────── JRE (Runtime Environment) ─────────────┐ │
│ │ Java class libraries (standard API: java.util, java.io, ...) │ │
│ │ ┌──────────────────── JVM (Virtual Machine) ───────────────┐ │ │
│ │ │ Executes bytecode, JIT compilation, garbage collection │ │ │
│ │ └───────────────────────────────────────────────────────────┘ │ │
│ └─────────────────────────────────────────────────────────────────┘ │
└────────────────────────────────────────────────────────────────────────┘
