It is an acronym of Java Development Kit. JDK provides development tools to develop java applications and it also provides runtime environment. It contains all the tools and libraries that help in to execute, debug and run the program.

JDK is an implementation; there are distinct installers for Windows, Linux and Mac that’s why Java is platform dependent.

JVM and JRE are parts of Java JDK. JDK contains JRE (and JRE contains JVM) and other libraries and development tools (such as javac and java).



JRE is an acronym of Java Runtime Environment. JRE provides libraries, Java Virtual Machine and other components to run applets and applications. JRE is the implementation of JVM.

JRE provides a runtime environment in which java program can be executed. JRE contains libraries and other files that help in execution of program



JVM provides a runtime environment in which our byte code can be executed. It is responsible to convert byte code into machine language.

JVM is a virtual machine that enables computers to run java programs. It is not physically exist that’s why it is known as abstract machine.

JVM is also responsible to perform these tasks:
• Loads code
• Verifies code
• Executes code
• Provides runtime environment