Questi tre acronimi descrivono livelli annidati della piattaforma Java. Il modo più semplice per ricordare: JDK contiene JRE, che contiene JVM — ognuno aggiunge funzionalità a quello interno.
L'annidamento
┌─────────────────────────── 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 │ │ │
│ │ └───────────────────────────────────────────────────────────┘ │ │
│ └─────────────────────────────────────────────────────────────────┘ │
└────────────────────────────────────────────────────────────────────────┘
