iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more
For learning or developing Java, install a JDK. It includes development tools such as the javac compiler and provides Java runtime capabilities. The JRE is the runtime environment that traditionally bundled the libraries and JVM needed to run Java applications; the JVM is the virtual machine that executes Java bytecode. These terms describe related but different parts of Java—and the old JDK-with-a-separate-JRE folder layout no longer applies to current JDK releases.
What do JDK, JRE, and JVM mean?
- JDK (Java Development Kit): A Java distribution for development. It includes tools such as
javacand other utilities, along with runtime capabilities. In its Java 8 documentation, Oracle describes the JDK as including the JRE and development tools such as compilers and debuggers. Oracle Java SE 8 documentation. - JRE (Java Runtime Environment): The runtime environment for running Java applications. In the traditional distribution model, it included Java libraries, a JVM, and supporting components. Oracle’s Java 8 documentation describes this older packaging model; it should not be taken to mean that current JDKs include a separate JRE download or folder.
- JVM (Java Virtual Machine): The abstract machine that executes Java bytecode. Oracle describes it as an abstract computing machine with an instruction set that manipulates memory at runtime. Oracle Java Platform Overview.
How do they work together?
A typical Java program follows this path:
Java source code → javac compiler → bytecode (.class files) → JVM executes bytecode
The compiler is a JDK development tool. The JVM runs the resulting bytecode, while runtime libraries support the application. Java source is normally compiled to the JVM’s instruction set and binary format, as described in Oracle’s Java Platform Overview.
Recommended Free Tools
What is the difference in practice?
| Term | Main role | What it means for you |
|---|---|---|
| JDK | Develop and run Java applications | Install this to write, compile, and run Java programs; it supplies tools such as javac. |
| JRE | Run Java applications | Historically, a separately installable runtime environment with libraries and a JVM. Current Oracle JDK releases do not have the old separate JRE image. |
| JVM | Execute Java bytecode | A runtime component, not usually the complete download a beginner installs on its own. |
Which one should you install to learn Java?
Choose a JDK if you will write or compile Java code. It provides the development tools as well as runtime capabilities, so a learner does not need to find and install a standalone JVM separately.
If you only need to run an application, you do not need compiler tools. You do need a runtime compatible with that application, which may be packaged or managed by the application itself. Oracle’s migration guidance recommends using jlink to create dedicated runtimes rather than relying on a pre-installed system JRE. See Oracle’s JDK 26 migration guide.
Why does the old JDK-and-JRE diagram cause confusion?
The familiar picture of a JDK containing a JRE describes an older packaging arrangement, not the folder structure to expect from a current JDK installation. Oracle’s migration guide explains that before JDK 9, the JDK included the entire JRE in a jre/ directory. JDK 9 and 10 used modular runtime images, and JDK 11 and later do not have a separate JRE image. A modern JDK still includes development tools and runtime capabilities, but you should not expect a nested jre/ directory. Oracle JDK 26 migration guide.
Rank #2
Which Java release should you use?
Use the release required by your course, employer, or the application you need to run; there is no single correct release for every beginner. Oracle’s Java SE documentation lists releases including JDK 27, 25, 21, 17, 11, and 8, alongside versions in sustaining support. That list is time-sensitive and was accessed on October 7, 2026. Check Oracle’s Java SE releases page for its current listing, and follow any version requirement that applies to your work.
Quick wins for a faster PC:
Scan for outdated or missing drivers - takes under a minuteDriver Scan →Repair Windows errors before they cause bigger problemsFix Now →Are Java SE APIs and JDK APIs the same?
No. Java SE APIs define the standard platform, while JDK APIs are specific to a JDK and are not necessarily available in every Java SE implementation. Oracle notes this distinction in its Java SE 26 and JDK 26 API overview. If you are choosing libraries or writing code intended to work across implementations, check whether an API belongs to Java SE or is specific to a particular JDK.
Quick Recap
Best Value
Rank #4
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

