Nearly every Java tutorial opens with the same picture: a big box labelled JDK containing a smaller box labelled JRE containing a smaller box labelled JVM.
| Layer | What it actually is | Still a real thing? |
|---|---|---|
| JDK | A toolchain plus a complete runtime | Yes |
| JRE | Nothing you can point at; the runtime inside the JDK | No, not as a product |
| JVM | A specification, plus HotSpot as its implementation | Yes |
The JDK contains a runtime, true. But there is no separate JRE between them any more, so the middle box has nothing to depict. The honest nesting is two layers, not three: **the JDK contains a JVM, and the JVM loads classes.**
So this article covers all three terms because the vocabulary is real, while being explicit about which of them you can actually obtain.