Understanding JDK, JRE & JVM

JDK

  • Stands for Java Development Kit
  • JDK includes JRE and command-line development tools such as compilers , debuggers etc
  • All the commands such as javac, java, jar, javap etc found in JDK.
  • JDK is a superset of a JRE since it contains JRE with Java compiler, debugger and core classes.
  • JDK is a platform specific software, we have separate installers for Windows, Mac and Unix systems

JRE
  • Stands for Java Runtime Environment
  • The JRE provides the libraries, JVM, and other components necessary for you to run java applications. 
  • JRE is the implementation of Java virtual machine, it provides platform to execute java programs.
  • If you want to execute java program, you should have JRE installed.

JVM
  • Stands for Java Virtual Machine
  • The JVM is an abstract computing machine that has an instruction set and manipulates memory at run time. 
  • When we run a program, JVM is responsible to convert Byte code to the machine specific code.
  • The JVM provides hardware and operating system independence. ie If you have compiled java application in Windows, that can be run on MAC, Linux, visa-versa. this is the reason why java is called "Platform independent"
  • JVM is also provides core java functions like memory management, garbage collection, security etc.



Comments