Difference between JDK, JRE, JVM

Facebooktwitterredditpinterestlinkedinmailby feather

We must understand the basic difference between the JDK, JRE, and JVM before diving deep into Java.

Difference between JDK JRE JVM
JDK JRE JVM
JDK stands for Java Development Kit. It provides development tools and execution environment.  JRE stands for Java Runtime Environment. It provides the set of tools only to execute our program. JVM stands for Java Virtual Machine. It is responsible for the program to execute line by line.
JDK is the superset of the JRE. It contains JRE with Java compiler, debugger, and core classes. JRE contains a set of libraries and other files that JVM uses at runtime. It contains JIT (Just in Time Compiler), interpreter, and set of APIs. JIT optimizes bytecode to machine specific language compilation by compiling similar bytecodes.
Uses JVM, interpreter/loader, a compiler, an archiver, a documentation generator (Javadoc), and set of APIs to complete the development of Java application. Uses a set of libraries, other jar files, and set of API to run the program. It doesn’t play any role during development. It only works to run the program. JVM works to Load code, Verifies code, and Execute code and provides a runtime environment.
It physically exits It physically exits It doesn’t physically exist.
Facebooktwitterredditpinterestlinkedinmailby feather