JDK, JRE and JVM

Java Virtual Machine [JVM]

  • JVM is an abstract machine that enables your computer to run Java programs.
  • When you run a java program, the Java compiler will compile your code to bytecode, after it JVM translates bytecode into machine code.
  • JVM is available for many hardware and software.
  • JVM convert .class file into machine code.

Java Runtime Environment [JRE]

  • It is a set of software tools used for developing and running Java applications.
  • It contains JVM Java Virtual Machine + other useful classes.
  • It is used to provide the runtime environment.
  • It converts .java code to .class code.

Java Development Kit [JDK]

  • It is a software development kit required to develop applications and applets in Java.
  • It is used to provide the runtime environment.
  • It contains JRE + development tools.