Difference between JDK,JRE and JVM

Harshata Choudaj
2 min readJul 8, 2020

JDK(Java Development Kit)

  1. JDK is a software development environment used for making applets and Java applications. The full form of JDK is Java Development Kit. Java developers can use it on Windows, macOS, Solaris, and Linux. JDK helps them to code and run Java programs. It is possible to
  2. JDK is primarily used for code execution and has prime functionality of development.
  3. JDK is platform dependent i.e for different platforms different JDK required.
  4. As JDK is responsible for prime development so it contains tools for developing, debugging and monitoring java application.
  5. JDK comes with the installer.
  6. JDK contains tools required to write Java programs, and JRE to execute them.

JRE(Java Runtime Environment)

  1. JRE is a piece of a software which is designed to run other software. It contains the class libraries, loader class, and JVM. In simple terms, if you want to run Java program you need JRE. If you are not a programmer, you don’t need to install JDK, but just JRE to run Java programs. Though, all JDK versions comes bundled with Java Runtime Environment, so you do not need to download and install the JRE separately in your PC. The full form of JRE is Java Runtime Environment.
  2. JRE is majorly responsible for creating environment for code execution.
  3. Like of JDK JRE is also platform dependent.
  4. On other hand JRE does not contain tools such as compiler or debugger etc. Rather it contains class libraries and other supporting files that JVM requires to run the program.
  5. JRE only contain environment to execute source code.
  6. JRE contains class libraries, JVM, and other supporting files. It does not contain any tool for Java development like a debugger, compiler, etc.

JVM(Java Virtual Machine)

  1. JVM is an engine that provides a runtime environment to drive the Java Code or applications. It converts Java bytecode into machine language. JVM is a part of Java Run Environment (JRE). It cannot be separately downloaded and installed.
  2. JVM on other hand specifies all the implementations and responsible to provide these implementations to JRE.
  3. JVM is platform independent.
  4. JVM does not include software development tools.
  5. JVM bundled in both software JDK and JRE.
  6. JVM comes with JIT(Just-in-Time) compiler that converts Java source code into low-level machine language. Hence, it runs more faster as a regular application.

--

--