Details of JDK, JVM and JRE
JDK, JRE and JVM these all the backbone of java language. Each component has separate works. Jdk and Jre physically exist but JVM is abstract machine it means it not physically exists.
The Java Development Kit (JDK) is primary components. It physically exists. It contains collection of supporting programming tools with JRE, JVM.
The Java Runtime Environment (JRE) is part of the Java Development Kit (JDK). It contains set of libraries and tools for developing/compiling java applications. The Java Runtime Environment provides the minimum requirements for executing a Java application. It physically exists. It contains set of java libraries and other files that JVM uses at runtime.
JVM (Java Virtual Machine) is software component. It is a specification that provides runtime environment in which java byte code can be executed. It not physically exists.
JVMs are not same for all hardware and software, for example for window OS JVM is different and for Linux VJM is different. JVM, JRE and JDK are platform dependent because configuration of each OS differs. But, Java is platform independent.
Note : JVM defaultly available in all the Operating System – we need not install explicitly.
Click here - to know more about JVM Internal Architecture