New Delhi, India

Java Terminologies : JDK, JRE, JVM

Created with Sketch.

Core Java Tutorial


Java Terminologies : Introduction

  • There are some basic Java Terminologies that are used frequently. These terminologies include Java Virtual Machine(JVM), Java Run-time Environment(JRE) and Java Development Kit(JDK). So let’s discuss them in brief.

1) Java Virtual Machine (JVM)

  • Heart of Java programming language.
  • JVM is a program for a particular hardware and software platform that run Java technology applications.
  • JVM is an abstract machine architecture specified by the JVM specification.
  • JVM is responsible for converting byte-codes to machine specific code.
  • In other words JVM is a platform dependent execution environment that converts Java bytecodes into machine language and executes it.


2) Java Runtime Environment (JRE)

  • JRE is a run-time environment which implements JVM and provides all class libraries and other facilities necessary to execute Java programs.
  • Consists of JVM, core classes and supporting files.
  • JRE doesn’t contain any development tools like compiler, debugger etc.
  • Platform specific.


3) Java Development Kit (JDK)

  • The tools necessary to compile , document and package Java programs (Javac, Javadoc and jar) is included by JDK.
  • JDK includes a complete JRE.
  • Core component of Java , provides all the tools, executable and binaries required to compile, debug and execute Java programs.
  • JDK = JRE + Java compiler + debugger + core classes.
  • It is also a platform specific software.


This image describes the complete circle of java terminologies.


Note : Apart from these three,  other common terminologies that are used in java programming languages can be checked here.