The JVM executes Java bytecode, the JRE supplies a JVM and the libraries needed to run Java applications, and the JDK adds tools for building them. If you write or compile Java, install a JDK. If you only run an application, use the runtime components that application requires; packaging varies by Java release and vendor.
What is the JVM?
The Java Virtual Machine (JVM) is the execution engine for Java bytecode. It is an abstract computing machine with an instruction set that manipulates memory at runtime, rather than a separate Java language or a complete developer kit. A JVM implementation lets bytecode run on supported operating systems and hardware without requiring the program to be compiled specifically for each one. Oracle’s Java Platform Overview describes the JVM as an abstract machine that runs Java applications.
What is the JRE?
The Java Runtime Environment (JRE) provides what is needed to run Java applications: a JVM, Java platform libraries, and supporting components. It does not include development tools such as a compiler or debugger. Java.com likewise describes the JRE as consisting of the JVM, Java platform core classes, and supporting libraries: What is Java and why do I need it?
What is the JDK?
The Java Development Kit (JDK) is the development package. Conceptually, it contains the runtime components and adds tools such as compilers and debuggers for building and diagnosing Java applications. Oracle’s overview describes the JDK as a superset of the JRE. That nesting explains the roles, but it does not mean every current Java distribution installs a separately named JRE directory.
JDK vs. JRE vs. JVM at a glance
| Component | Main purpose | What it provides | Typical choice |
|---|---|---|---|
| JVM | Execute Java bytecode | Runtime engine and memory operations | Part of a Java runtime; not usually installed as a standalone choice |
| JRE | Run Java applications | JVM, Java platform libraries, and supporting runtime components | Use the runtime form required by the application |
| JDK | Develop and run Java applications | Runtime components plus development tools such as a compiler and debugger | Install this if you write or compile Java |
Do you need a JDK or a JRE?
If you are developing Java
Choose a JDK. Its development tools let you compile source code and work on Java programs; a runtime alone does not provide those tools.
If you only need to run an application
Use the runtime components required by that application. They may be supplied with the application, included in a deployment image, or installed separately. Check the application’s instructions and the chosen Java vendor’s release packaging rather than assuming a standalone JRE is available.
Rank #2
Are JDK, JRE, and JVM separate products?
They are best understood as related roles and layers, not as three Java languages or interchangeable names. In the traditional conceptual model, the JDK includes the runtime, the runtime includes a JVM and libraries, and the JVM executes bytecode. Real download and installation options depend on the release and distributor. Oracle’s Java SE documentation hub links to release-specific documentation and downloads; check the applicable release information and licensing terms before choosing a distribution.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Can you run Java without installing the JDK?
Yes. The JDK is needed for development tools, not simply to execute an application. You can run Java software with the runtime components it needs without installing a development kit, provided those components are available through the application or deployment environment. The application’s requirements determine the appropriate runtime setup.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
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.

