JVM ( Java Virtual Machine ) : -
JVM (Java Virtual Machine) is an abstract machine. It is called a
virtual machine because it doesn't physically exist. It is a specification that
provides a runtime environment in which Java bytecode can be executed. It can
also run those programs which are written in other languages and compiled to
Java bytecode
JVMs are available for many hardware and software platforms. JVM,
JRE, and JDK are platform dependent because the configuration of each OS is
different from each other. However, Java is platform independent. There are
three quotation of the JVM : specification, implementation,
and instance.
OR
JVM is : -
- A
specification where
working of Java Virtual Machine is specified. But implementation provider
is independent to choose the algorithm. Its implementation has been
provided by Oracle and other companies.
- An
implementation Its
implementation is known as JRE (Java Runtime Environment).
- Runtime Instance Whenever you write java command on the command prompt to run the java class, an instance of JVM is created.
JRE ( Java Runtime Environment ) : -
JRE is an acronym for Java Runtime Environment. It is also written
as Java RTE. The Java Runtime Environment is a set of software tools which are
used for developing Java applications. It is used to provide the runtime
environment. It is the implementation of JVM.
JDK ( Java Developement Kit ) : -
JDK is an acronym for Java Development Kit. The Java Development Kit (JDK) is a software development environment which is used to develop Java applications and applets. It physically exists. It contains JRE + development tools.
The JDK contains a private Java Virtual Machine
(JVM) and a few other resources such as an interpreter/loader (java), a
compiler (javac), a documentation generator (Javadoc), etc.
to complete the development of a Java Application.