JAVA JVM, JRE and JDK

JVM - Java Virtual Machine

JVM (Java Virtual Machine) is an abstract machine that permits your computer to run a Java program.

It is known as a virtual machine since it doesn't truly exist.

It is a specification that gives a runtime environment during which Java bytecode are often executed.

At the point when you run the Java program, Java compiler initially incorporates your Java code to bytecode. Then, the JVM translates bytecode into native machine language.

It also can run those programs which are written in other languages and compiled to Java bytecode.

Java may be a platform-independent language. It's because once you write Java code, it's ultimately written for JVM but not your computer. Since JVM executes the Java bytecode which is stage free, Java is stage autonomous.


what is jvm
Working of Java Program

The JVM performs the subsequent main tasks:
  • Loads code
  • Verifies code
  • Executes code
  • Provides runtime environment

JRE - Java Runtime Enviroment

JRE is an acronym for Java Runtime Environment. It's also written as Java RTE.

JRE (Java Runtime Environment) may be a software package that gives Java class libraries, Java Virtual Machine (JVM), and other components that are required to run Java applications.

JRE is that the superset of JVM.


what is jre
JAVA Runtime Enviroment

It is the implementation of JVM. It physically exists. It contains a group of libraries + other files that JVM uses at runtime.

Download JRE From here.

JDK - Java Development Kit

JDK is an acronym for Java Development Kit. The Java Development Kit (JDK) may be a software development environment which is employed to develop Java applications and applets.

what is jdk
Java Development Kit


It physically exists. It contains JRE + development tools.

JDK is an implementation of anybody of the below given Java Platforms released by Oracle Corporation:

  • Standard Edition Java Platform
  • Enterprise Edition Java Platform
  • Micro Edition Java Platform
JDK contains number of development tools like interpreter/loader (java), a compiler (javac), an archiver (jar), a documentation generator (Javadoc), etc. to finish development of java program.

Download JDK from here.