What is the difference between JDK, JRE, and JVM?
These three are the layered building blocks of the Java platform.
JVM (Java Virtual Machine) — the runtime engine that executes bytecode. It handles classloading, JIT compilation, and garbage collection. Platform-specific, but the bytecode it runs is portable.
JRE (Java Runtime Environment) — the JVM plus the standard class libraries needed to run Java programs. No compiler or dev tools.
JDK (Java Development Kit) — the JRE plus developer tools (
javac,jar,jdb,javadoc) needed to build Java programs.
Draw the containment relationship: JDK contains JRE which contains JVM. Know specific tools in JDK (javac, jar, jdb).
Mention that since Java 11, JRE is no longer distributed separately — only JDK.