---
title: "Difference between JDK, JRE and JVM"  
description: "JVMJVM (Java Virtual Machine) is an abstract machine. It is a specification that provides runtime environment in which java bytecode can be executed.J"  
author: "ANkita gupta"  
published: 2015-05-19  
updated: 2018-02-20  
canonical: https://www.mindstick.com/blog/10890/difference-between-jdk-jre-and-jvm  
category: "java"  
tags: ["java"]  
reading_time: 1 minute  

---

# Difference between JDK, JRE and JVM

#### JVM

| JVM (Java [Virtual Machine](https://www.mindstick.com/forum/157900/what-is-a-virtual-machine-and-how-does-it-work)) is an abstract machine. It is a [specification](https://www.mindstick.com/news/369/specifications-of-redmi-note-10-series-leaked-before-the-official-launch) that provides runtime [environment](https://yourviews.mindstick.com/view/308/need-to-create-a-supportive-work-environment-for-women) in which java bytecode can be executed. |
| --- |
| JVMs are available for many hardware and [software platforms](https://answers.mindstick.com/qa/114578/what-are-the-benefits-and-drawbacks-of-using-low-code-no-code-software-platforms). JVM, JRE and JDK are platform dependent because [configuration](https://www.mindstick.com/articles/13112/setting-up-the-perfect-configuration-for-your-work-computer) of each OS differs. But, Java is [platform independent](https://www.mindstick.com/interview/23323/why-java-is-platform-independent). |
| The JVM performs following main tasks: - Loads code - Verifies code - Executes code - Provides runtime environment |
|  |

---

##### JRE

| JRE is an acronym for Java Runtime Environment.It is used to provide runtime environment.It is the [implementation](https://www.mindstick.com/forum/33764/how-to-implementation-of-class-in-c-sharp) of JVM.It physically exists.It contains set of libraries + other files that JVM uses at runtime. |
| --- |
| Implementation of JVMs are also actively released by other [companies](https://yourviews.mindstick.com/view/85554/why-must-companies-have-a-profile-page-on-mindstick) besides Sun Micro Systems. |
| ![jre](http://www.javatpoint.com/images/jre2.JPG) |

---

##### JDK

| JDK is an acronym for Java Development Kit.It physically exists.It contains JRE + [development tools](https://answers.mindstick.com/qa/93973/name-some-content-development-tools-you-re-familiar-with). |
| --- |
| ![jdk](http://www.javatpoint.com/images/jdk2.JPG) |

---

Original Source: https://www.mindstick.com/blog/10890/difference-between-jdk-jre-and-jvm

Copyright © MindStick Software Pvt. Ltd. This Markdown version is provided for developers, AI systems, and offline reading.
