Jvm Jre Jdk
A Java virtual machine (JVM) is a virtual machine that enables a computer to run Java programs. The Java Runtime Environment (JRE) is the underlying technology that communicates between the Java program and the operating system. The Java Development Kit is a distribution of Java Technology, It implements the Java Language Specification and the Java Virtual Machine Specification.
JVM
JVM stands for Java Virtual Machine which provides a runtime environment for executing the java bytecode. As the name suggests Java virtual machine is not a machine it is a program and it’s called as virtual because it doesn’t exist physically. It can run programs that are written in other languages also and compile them to java byte code. JVMs are available for many software and hardware platforms. It is platform and system dependent. JVM has three notions they are: specification, implementation, and instance.
Roles of JVM in java
- Loads the code
- Verifies the code
- Executes the code
- Provides run time environment
JRE
JRE stands for Java Runtime Environment. It is also written as java RTE and it is a set of software tools that are used for developing java applications. JRE is used to provide a runtime environment within which JVM runs and has class libraries and other files that the java virtual machine uses at the time of execution. Unlike java virtual machines JRE exists physically. The implementation of java virtual machine is also actively released by other companies besides Sun Micro Systems.
JDK
JDK stands for Java Development Kit. The java development kit is a software development environment that is used to develop java applications and applets. JDK also exists physically like JRE. It contains a java runtime environment and developmental tools such as a compiler, debugger, etc. JDK can be called a parent set of JRE and has everything that JRE contains along with developmental tools.
JDK for different platforms released by Oracle Corporation
- Java SE (Standard Edition Java Platform)
- Java EE (Enterprise Edition Java Platform)
- Java ME (Micro Edition Java Platform)