What is the difference between the JDK, JRE, and JVM?
Separate the development toolchain, runtime distribution, and virtual machine that executes bytecode.
30-second interview answer
The JVM is the abstract machine that loads and executes Java bytecode. A JRE is the runtime needed to run Java applications—the JVM plus standard libraries and supporting files. A JDK is the development kit: a runtime plus tools such as javac, javadoc, jdb, and jlink. Modern distributions often ship a JDK rather than a separately branded JRE, but the conceptual layers still matter.