Difference between JDK JRE and JVM

Upasana | July 22, 2020 | 1 min read | 557 views

JRE is subset of JDK while JVM is an abstract computing machine
Java Virtual Machine (JVM)

It is an abstract computing machine that enables a computer to run a Java program. An instance of a JVM is an implementation running in a process that executes a computer program compiled into Java bytecode. JVM performs tasks like loading byte code, code verification, code execution, etc.

Java Runtime Environment (JRE)

It is a software package (a physical entity) that contains necessary artifacts required to run a Java program. It includes JVM implementation together with an implementation of Java Class Library (rt.jar). Hotspot is the JVM implementation for Oracle Java.

Java Development Kit (JDK)

It is a superset of a JRE and contains tools for Java programmers, e.g. javac compiler, jconsole, jheap, jps, jvisualvm etc.

Oracle releases server JRE also, that contains normal JRE along with few tools (e.g. javac compiler) that are required by Tomcat like servlet containers.

Top articles in this category:
  1. Difference between HashMap and ConcurrentHashMap
  2. What is difference between Vector and ArrayList, which one shall be preferred
  3. What is difference between HashMap and HashSet
  4. Difference between HashMap, LinkedHashMap and TreeMap
  5. Difference between Callable and Runnable Interface
  6. What is difference between sleep() and wait() method in Java?
  7. Difference between ExecutorService submit and execute method

Recommended books for interview preparation:

Find more on this topic:
Buy interview books

Java & Microservices interview refresher for experienced developers.