What is difference between JDK JRE and JVM

Carvia Tech | August 02, 2018 | 1 min read | 266 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 HashMap and HashSet
  3. Difference between Implementing Runnable and Extending Thread
  4. What is difference between Vector and ArrayList, which one shall be preferred
  5. What is difference between sleep() and wait() method in Java?
  6. What is difference between Callable and Runnable Interface?
  7. What are four principles of OOP, How aggregation is different than Composition?

Find more on this topic:
Core Java image
Core Java

Core Java - OOP Concepts, Garbage Collection, Multi-threading, Collections Framework, Java 8 Features, Lambda Functions, Streams.

Last updated 1 month ago

Recommended books for interview preparation:

This website uses cookies to ensure you get the best experience on our website. more info