Difference between JVM, JRE and JDK
JVM (Java Virtual Machine):
JVM is a virtual machine or a program that provides run-time environment in which java byte code can be executed. JVMs are available for many hardware and software platforms. The use of the same byte code for all JVMs on all platforms make java platform independent.
Main task of JVM:
- 1. Search and locate the required files.
- 2. Convert byte code into executable code.
- 3. Allocate the memory into ram
- 4. Execute the code.
- 5. Delete the executable code.
JRE (Java RunTime Environment):
JVM + java runtime libraries + java package classes (e.g. util, lang etc). JRE provides class libraries and other supporting files with JVM. It not provide any development tool like compiler, debugger etc.
JDK (Java Development Kit):
JRE+ development tool (compiler, debugger etc.). JDK contains tools to develop the application and JRE to execute the application.
Next Topic: Java Coding Guidelines.
Previous Topic: JVM architecture details.