It is important to understand the difference between JDK, JRE, and JVM in Java.
JVM (Java Virtual Machine):
Java virtual machine is actually an abstract machine which provides a runtime environment in which the java bytecode gets executed. A JVM performs some main tasks such as- loading, verifying and executing the code. It also provides a runtime environment.
JRE (Java Runtime Environment):
The Java runtime environment is used to provide a runtime environment. It is implemented by JVM. It consists of certain libraries which are used by JVM at runtime.
JDK (Java Development Kit):
The Java development kit consists of JRE and all the development tools which are necessary for compiling a program.