fundamentals
What is JVM? Difference between JVM/JDK /JRE?
JVM (Java Virtual Machine):
- Abstract machine providing a runtime environment for Java bytecode.
- It is platform-dependent (implementations exist for Windows, Mac, Linux).
- Responsible for: Loading code, Verifying code, Executing code, Providing runtime environment.
JRE (Java Runtime Environment):
- Implementation of JVM.
- JRE = JVM + Set of libraries (rt.jar, etc.) + Other files.
- It provides minimum requirements for executing a Java application.
JDK (Java Development Kit):
- Full-featured Software Development Kit for Java.
- JDK = JRE + Development Tools (javac, jar, javadoc, debugger, etc.).
- Used by developers to create and compile Java programs.