The JDK is the toolchain required to *build* Java software, as distinct from the runtime required to *run* it. That distinction used to be crisp, because you installed a JDK and a separate JRE. **It no longer is**, and this is the single most important thing to understand about the modern JDK.
Since JDK 11 the separate JRE distribution no longer exists. There is no JRE installer to download, because the runtime is already inside the JDK and the **module system** lets you carve out exactly the parts you need. Any tutorial telling you to "download the JRE separately" is describing a workflow that ended years ago.
WHAT PEOPLE STILL DRAW WHAT IS ACTUALLY TRUE TODAY
┌────────────┐ ┌────────────┐ ┌──────────────────────────────┐
│ JDK │ │ JRE │ │ JDK │
│ javac,jar │ │ java │ │ java, javac, jar, jshell │
│ javadoc │ │ lib/*.jar │ │ jlink, jmod, jpackage, ... │
└─────┬──────┘ └─────┬──────┘ │ │
└──── contains ─┘ │ ~70 modules, incl. java.base│
(true until 2018) │ jlink builds a runtime image │
└──────────────────────────────┘The verifiable proof of this is on disk. Listing the contents of a real Temurin 17 installation shows there is no jre directory at all:
$ ls /tmp/jdkbin conf include jmods legal lib man NOTICE releaseNo jre/. What took its place is jmods, holding 70 module files, and the bin directory now carries 28 executables.