JVM (Virtual Machine)
JVM is an abbreviation for Java Virtual Machine; it is an abstract machine that provides a runtime environment for Java bytecode execution. It is a specification that governs how the Java Virtual Machine operates. Oracle and other companies provide its implementation. Its implementation is known as JRE. The JVM is available on a wide range of hardware and software platforms (so the JVM is platform dependent). It is the runtime instance that is created when the Java class is executed. There are three concepts in the JVM: specification, implementation, and instance.
JRE (Java Runtime Environment):
JRE is an abbreviation for Java Runtime Environment. It is a Java Virtual Machine implementation. The Java Runtime Environment is a collection of software tools used to create Java applications. It serves as the runtime environment. It is a Java Virtual Machine implementation. It is physically present. It contains a collection of libraries as well as other files that are used by the JVM during runtime.
JDK (Java Development Kit)
JDK is an abbreviation for Java Development Kit. It is a programming environment for creating Java applications and applets. It is physically present. Furthermore, it includes JRE as well as development tools. A Java Development Kit (JDK) is an implementation of any of the Java platforms published by Oracle Corporation:
- Standard Edition Java Platform
- Enterprise Edition Java Platform
- Micro Edition Java Platform