Difference between JVM, JDK and JRE.

Modified on Tue, 28 Mar, 2023 at 3:54 PM

JVM, JDK, and JRE are three related but distinct components of the Java software platform:

  1. JVM (Java Virtual Machine): JVM is a virtual machine that provides the runtime environment in which Java bytecode can be executed. It is responsible for interpreting compiled Java code and running it on the host machine. The JVM is platform-dependent, which means that a different JVM is required for each platform (e.g., Windows, Linux, macOS).


  1. JDK (Java Development Kit): JDK is a software development kit that provides tools and libraries for developing Java applications. It includes the JVM, as well as compilers, debuggers, and other tools that are necessary for developing and testing Java code. The JDK is platform-specific, which means that a different JDK is required for each platform.


  1. JRE (Java Runtime Environment): JRE is a runtime environment that includes the JVM and a set of libraries that are required for running Java applications. Unlike the JDK, the JRE does not include development tools such as compilers and debuggers. The JRE is also platform-specific, which means that a different JRE is required for each platform.

To summarize:

JVM is the virtual machine that executes Java bytecode.

JDK is the development kit that includes the JVM and tools for developing and testing Java code.

JRE is the runtime environment that includes the JVM and libraries for running Java applications.

In general, if you only want to run Java applications, you only need the JRE. If you want to develop Java applications, you need the JDK.

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article