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.
What is JVM? Difference between JVM/JDK /JRE? | DevExCode