This article gives you Knowledge about Differences between JVM (Java Virtual Machine) and JDK (Java Development Kit)
Difference between JVM (Java Virtual Machine) and JDK (Java Development Kit)
The Java Virtual Machine (JVM) executes the Java programs bytecode (.class file). The bytecode is generated after the compilation of the program by the Java compiler. The Java Virtual Machine is the software program and data structures that is on the top of the hardware. The Java virtual machine is called "virtual" because it is an abstract computer (that runs compiled programs) defined by a specification. The Java Virtual Machine is the abstraction between the compiled Java program and used hardware and operating system. The JVM is part of both the JDK and the JRE. It is the 'engine' that executes java bytecodes, performs garbage collection and does just-in-time compilation. The JVM for different systems is not same. JVM forms the Java Runtime Environment (JRE) for the program execution. Each operating system and CPU architecture requires a different JRE. The JRE comprises a set of base classes, which are an implementation of the base Java API, as well as a JVM.
The JDK (Java Development Kit) is used for developing java applications. The JDK includes JRE, set of API classes, Java compiler, Webstart and additional files needed to write Java applications. The JDK (Java Development Kit) contains software development tools which are used to compile and run the Java program. Both JDK and JRE contains the JVM.
The above picture helps you to understand the difference between JDK, JRE, JVM.