What is JDK ?
JDK - Java Development Kit
- JDK is used to write, debug, compile, and run Java applications.
- This is required for developers to develop Java applications.
- This converts user defined code(.java) to byte code(.class) when there is no exception in the code.
- This is platform dependent. That is there are separate installers for Windows, Mac, and Unix systems.
- JDK includes both JVM and JRE.
What is JRE ?
JRE - Java Runtime Environment
- It is a package that provides the libraries and JVM required to run Java applications.
- This is required for end users to run the Java applications. So JRE is enough when only need is to run Java applications but not develop them.
- This is platform dependent.
What is JVM ?
JVM - Java Virtual Machine
- It is responsible for executing java byte code(.class) on any platform, making it "write once, run anywhere" language.
- This is platform dependent.
- JVM is automatically installed with the JRE installation, so there is no need to install it separately.
- JVM is responsible for converting byte code to the machine understandable code.
- It provides memory management, garbage collection, security, etc.
- It identifies objects that are no longer referenced or needed by the application and reclaiming their memory space.
- It is an interpreter.
What is JIT?
JIT - Just In-Time Compiler
- It enhances the performance of JVM by compiling the parts of byte code with similar functionality at the same time. This process reduces the overall time needed for the conversion of byte code to machine specific code at runtime.




Top comments (0)