Diese drei Akronyme beschreiben verschachtelte Ebenen der Java-Plattform. Die einfachste Merkhilfe: JDK enthält JRE, das JVM enthält — jedes fügt Fähigkeiten hinzu zum darin Enthaltenen.
Die Verschachtelung
┌─────────────────────────── 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 │ │ │
│ │ └───────────────────────────────────────────────────────────┘ │ │
│ └─────────────────────────────────────────────────────────────────┘ │
└────────────────────────────────────────────────────────────────────────┘
