0.8 – JVM vs JRE vs JDK

by subbu on November 22, 2014

JDK (Java Development Kit)

In the previous session we have learned about JVM and JRE. In this session we are going to discourse JDK.

Actually to run any java application it is enough to have installed with Java Runtime Environment in any computer but JRE would not install any tools to develop, debug, compile and test the java applications.

As a programmer we need some tools to write, debug, compile and test java programs. Installation of JDK (Java Development Kit) would provide many tools to go with the development process of any java program.

A typical installation of JDK would install the java development tools under the bin folder of java installation directory

Java Development Tools

If we want to write, compile and test the java programs then we need to install the latest available version of JDK. Here I am referring the latest version because old versions of JDK may not support some of the concepts like Scanner, Generics, Lambda expressions and enum etc. but all the latest versions support most of the outdated and old concepts.


It is where the most people get confused because these sound same. Here I would like to summarize the differences among JVM, JRE and JDK.

Java virtual machine is a mechanism which translates the byte code into native executable code either by using the java interpreter or Just In Time Compiler. It is also included with some other tools like Garbage collector to free the unused objects and Thread Synchronization mechanism to control multiple processes to execute multiple functions (methods) at a time using single processor.

It is a specification can be implemented and used by any body

Java Virtual Machine

Java Runtime is the combination of JVM and with some other tools like class Loader, Byte code verifier, Java API and Runtime libraries. A computer must be installed with the total JRE to run any java application

Java Runtime Environment

By installing JDK, every thing which is needed to develop, test and execute a Java application like development tools and Java Runtime Environment are installed.

Java Development Kit

The bellow snap shot from java documentation shows the total structure of JDK

Java Architecture

Previous post:

Next post: