What is the difference between JDK and JVM ?
JDK : JDK is a software bundle consists of binary files such as (javac, java, javadoc, jdb, javap, rmic....), java library files (both old and new) and some header files. Development environment requires this software.
JRE: JRE is also a software bundle same as JDK excluded with some binary files (especially compiler - javac and rmic). Required to run applications of Production Environment (on client host system).
JVM: JVM is available in both JDK and JRE. Java.exe file is used to initiate VM process. The default heap size is 2MB and the Max.heap size is 64MB.VM comes in two flavors.
-Hotspot client VM
-Hotspot server VM
The JVM is called "virtual" because it provides a machine interface that does not depend on the underlying operating system and machine hardware architecture. This independence from hardware and operating system is a cornerstone of the write-once run-anywhere value of Java programs.