Java: JDK, JRE and JVM

    Before getting started with coding , we must understand JDK, JRE, and JVM. They all differ from each other, and we will discuss them below.

    JVM (Java Virtual Machine)

    JVM stands for Java Virtual Machine , which is an abstract machine. This machine does not exist physically and is thus called virtual. It is a runtime environment that allows you to run your Java bytecode. This runtime environment allows you to run code written in another language and can be compiled into the Java bytecode.

    Many software and hardware systems support JVMs. JVM is platform-dependent, whose configuration can be varied from OS to OS. It has three notions - specification, implementation, and instance. It allows you to load, verify, and execute the code.

    JRE (Java Runtime Environment)

    JRE stands for Java Runtime Environment , which provides software tools to develop Java applications. It provides a runtime environment with the implementation of JVM. Unlike JVM, JRE exists physically and is a set of libraries and other required files used by Java at runtime.

    Apart from Sun Microsystems, JVM implementation has been released by many other companies.


    JDK (Java Development Kit)

    JDK stands for Java Development Kit, which provides an environment for software development to develop Java applications and applets. This also physically exists and contains JRE and other development tools. JDK allows the implementation of below mentioned Java platforms -

    • Standard Edition Java Platform
    • Enterprise Edition Java Platform
    • Micro Edition Java Platform

    JDK is a set of JVM resources like Java interpreter, Java compiler, an archiver, javadoc , and other files that help you to develop Java applications.