Java Essentials: what is JVM | JDK | JRE?

Nathan Chiche
2 min readDec 18, 2022

Java Platform

Three Main Components

  • Java Development kit(JDK)
  • Java Runtime Environment(JRK)
  • Java Virtual Machine(JVK) — heart of java responsible of executing your code

JDK = JRE + Development Tools like compiler(javac) and tools(javadoc and jdb)

JRE = JVM + Library Classes

JAVA VIRTUAL MACHINE

JVM (Java Virtual Machine) is a virtual machine that runs Java bytecode. It is responsible for converting the Java bytecode into machine code that can be executed by the computer’s hardware. The JVM is an important component of the Java runtime environment, as it is responsible for executing Java programs.

You give JVM the Bytecode or .class file and it converts into binary machine code.

In Java this is what happens:

  • Source → compiled→ java bytecode → interpreter(part of JVM) → Output
  • helloworld.java → compiler → helloworld.class → interpreter → output

JAVA RUNTIME ENVIRONMENT

JRE (Java Runtime Environment) is a software environment that allows Java programs to run on a computer. It includes the Java Virtual Machine (JVM), as well as the Java class libraries and other resources needed to run Java programs.

This is used to run java application and includes JVM and Java API(java library). Minimum requirement needed to execute a java application and consists of the JVM

JAVA DEVELOPMENT KIT

JDK (Java Development Kit) is a software development environment used to develop Java applications. It includes the tools and libraries needed to create, run, and debug Java programs. The JDK includes the Java compiler, the Java runtime environment (JRE), and other tools and libraries needed for Java development.

The JDK provides a complete toolkit for standard Java development and program execution. It includes development tools to compile, document, and package java programs. JDK includes JVM and JRE

--

--

Nathan Chiche

Huge passion for software development, Data Analytics, Information Technology, and more.