Difference Between JDK JRE & JVM

Posted on November 27, 2021 at 11:15 AM


JDK JRE and JVM are core concepts of the Java programming language. Here in this blog, we are going to differentiate between the above concepts, lets start without wasting much time.

To write and run the java program we need some development tool, which is JDK.JDK provides us both the tool to write the java program and also provides the environment to execute such java programs. We don’t use these concepts in programming. But, as Java developers, we should know about them.

Java Development Kit (JDK)

Java Development Kit (JDK) is a software development kit required to develop applications in Java. When you download JDK, JRE is also downloaded with it. In addition to JRE, JDK also contains several development tools like compilers, JavaDoc, Java Debugger, etc. JDK is an implementation of any one of the below given Java Platforms:

      Standard Edition Java Platform

      Enterprise Edition Java Platform

      Micro Edition Java Platform

Standard Edition Java:

Java Platform, Standard Edition (Java SE) is a computing platform for the development and deployment of portable code for desktop and server environments. Java SE was formerly known as Java 2 Platform, Standard Edition (J2SE). The platform uses Java programming language and is part of the Java software-platform family

Enterprise Java

Enterprise Java is the use of Java for application development in enterprise-scale software, and merges a collection of APIs and application servers that implement those APIs. Enterprise Java also includes related technologies, such as the Spring Framework.

Micro Edition

Java Platform, Micro Edition (Java ME) provides a robust, flexible environment for applications running on embedded and mobile devices in the Internet of Things: micro-controllers, sensors, gateways, mobile phones, personal digital assistants (PDAs), etc.

JDK is a platform-specific software that’s we need separate installers for Windows, Mac, and Unix systems also JDK contains JRE with Java compiler, debugger, and core classes. components of JDK include:

  • JRE

  • Development Tools

Java Development Kit | JDK


JRE is the implementation of JVM. It provides a platform to execute java programs. JRE consists of JVM, Java binaries, and other classes to execute any program successfully

JRE also consists of various technologies of deployment, user interfaces to interact with code executed, some base libraries for different functionalities, and language and util-based libraries.

JRE doesn’t contain any development tools such as Java compiler, debugger, JShell, etc.

If you just want to execute a java program, you can install only JRE. You don’t need JDK because there is no development or compilation of java source code is required.

components of the JRE are:

  • Java Virtual Machine (JVM)

  • Classes required to run the Java programs

  • Property Files



JVM is the heart of the Java programming language.JVM stands for Java virtual machine.

It is an abstract computing machine with its own instruction set and manipulates various memory areas at runtime.

 It is JVM that is responsible for converting Byte code to machine-specific code.

 It can also run those programs which are written in other languages and compiled to Java bytecode.

Java is a platform-independent language. It’s because when you write Java code, it’s ultimately written for JVM but not your physical machine (computer). Since JVM executes the Java bytecode which is platform-independent, Java is platform-independent.

The JVM performs the mentioned tasks: Loads code, Verifies code, Executes code, Provides a runtime environment.


ClassLoaders: Initial tasks of the JVM include loading, verifying, and linking the bytecode. Class loaders handle these tasks.

Memory Area: memory area is analogous to the storage area for compiled code. It stores structures such as run-time constant pool, field, and method data.

Execution Engine: It executes the instructions using information present in the memory areas. Once classloaders load and verify bytecode, the interpreter executes the bytecode line by line.


In this blog, we identified that the basic difference between JDK JRE JVM and lies in their usage. First, we understood how to develop Java applications, using the JDK. Then, we explained how to just run Java applications, we use the JRE and at last, the JVM which converts the Java bytecode into machine-readable code. leave a comment and if you are looking for an online business, kindly visit  (AppsRhino/ Relinns).

Related Posts

Start a Project

We could talk tech all day. But we’d like to do things too,
like everything we’ve been promising out here.