What is JDK, JRE and JVM?

Asinshani Taniya
2 min readSep 25, 2021

--

When we want to program using Java programming language, we have to download and install the Java. In this article, I will explain what exactly we are downloading and installing.

Java Development Kit

JDK is the thing we download and install from the web, as you can see there are some stuffs inside that. Let me start from the inside.

JVM (Java Virtual Machine) provides an environment to run Java code, or we can also say it creates a platform to execute Java byte code.

JVM does not exist physically in your hardware it is totally virtual, and it is a process. We cannot download and install it. And also JVM is not a static thing we can find anytime in our computer, it comes only when we request it.

Where the JVM comes from?

JRE deploys the all codes for creating a JVM. It will deploy the codes for creating JVM according to the operating system it is in.

JVM alone can not execute Java byte code. For that, JVM required some runtime libraries. Along with JVM codes to deploy and those libraries, here comes JRE.

JRE → JVM + Libraries

JRE (Java Runtime Environment) also called Java RTE, you can download and install it. To run a Java code, at least JRE required.

Finally, JDK (Java Development Kit) is a complete package of Java application development. Inside JDK there are JRE and some development tools which helps code to compile, launch and debug etc. It physically exists.

JDK → JRE + Development Tools

JDK → (JVM + Libraries) + (Debugger + Compiler +Javadoc)

For each software and hardware, JRE deploys the codes to create JVM with different configurations. Therefore, it is called platform dependent.

In case of JRE and JVM platform dependent, JDK also platform dependent. That is why you download different JDKs for different operating systems.

--

--