Difference Between JDK JRE and JVM

The three components of Java are JDK, JRE, and JVM. In this post, we will learn each of them in detail.

Java Components
Difference Between JDK JRE and JVM 2


JDK stands for Java Development Kit. It consists of all the tools that are needed to develop Java applications. JDK is platform dependent. Hence, we need to download it for each platform. There are different JDK available for different operating systems. JDK physically exists and contains JRE and JVM.


JRE stands for Java Runtime Environment. It is used to provide a runtime environment for Java applications. It is the implementation of JVM and it also physically exists like JDK. It is also platform dependent. We can find different implementations of JVM besides Oracle. For example Amazon Corretto.


JVM stands for Java Virtual Machine. It does not exist physically like JDK and JRE. It plays a important role to make Java very popular and platform independent. JVM is platform dependent like JDK and JRE because the configuration of each operating system is identical.

But Java is platform independent.

JVM mainly does the following things:

  • To load class
  • To verify code
  • To execute code and
  • To provide runtime environment