Java Application Development Lifecycle
In this article, I am going to discuss Java Application Development Lifecycle in detail i.e. I am going to discuss three important concepts i.e. JDK, JVM, and JRE, and the differences between them in detail. Please read our previous article, where we discussed why Java Becomes so much popular among developers.
Java Application Development Lifecycle:
There are three core technology packages used in Java Programming: JDK, JVM, and JRE
JDK (Java Development Kit):
The JDK (Java Development Kit) allows developers to create Java applications and applets that can be executed and run by the JVM and JRE. The JDK is a software package you download in order to create Java-based applications. The JDK is an implementation of the Java platform specification, including compiler and class libraries.
The important features of JDK are:
- It enables you to handle multiple extensions in a single catch block.
- JDK includes all features that JRE has.
- It contains development tools such as a compiler, debugger, etc.
- JDK provides the environment to develop and execute Java source code.
- It can be installed on Windows, Unix, and Mac operating systems.
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. It converts Java bytecode into machine language. JVM is a part of the Java Run Environment (JRE). It cannot be separately downloaded and installed. To install JVM, you need to install JRE.
The important features of JVM are :
- It enables you to run applications in a cloud environment or in your device.
- Java Virtual Machine converts byte code to the machine-specific code.
- It provides basic java functions like memory management, security, garbage collection, and more.
- JVM runs the program by using libraries and files given by the Java Runtime Environment.
- JDK and JRE both contain Java Virtual Machine.
- It can execute the java program line by line hence it is also called an interpreter.
- JVM is easily customizable for example, you can allocate minimum and maximum memory to it.
- It is independent of hardware and the operating system. So, you can write a java program once and run anywhere.
JRE (Java Runtime Environment):
JRE (Java Runtime Environment) also written as Java RTE. JRE is a piece of software that is designed to run other software. It is used to provide a runtime environment. It is the implementation of JVM. It physically exists. It contains a set of libraries + other files that JVM uses at runtime. Though, all JDK versions come bundled with Java Runtime Environment, so you do not need to download and install the JRE separately in your PC. The implementation of JVM is also actively released by other companies besides Sun MicroSystems.
The important features of JRE are:
- Java Runtime Environment is a set of tools using which the JVM actually runs.
- JRE contains deployment technology, including Java Web Start and Java Plug-in.
- Developers can easily run the source code in JRE, but he/she cannot write and compile the Java program.
- It includes integration libraries like Java Database Connectivity (JDBC), Remote Method Invocation (RMI), Java Naming and Directory Interface (JNDI), and more.
- JRE has JVM and Java Hot Spot virtual machine clients.
The workflow of JDK, JVM, and JRE :
Difference between JDK, JRE, and JVM :
|The full form of JDK is the Java Development Kit.||The full form of JRE is the Java Runtime Environment.||The full form of JVM is Java Virtual Machine.|
|JDK is platform-independent.||JRE is also platform-independent.||JVM is also platform-independent.|
|It is the superset of JRE.||It is the superset of JVM.||It is the subset of JRE.|
|JDK comes with the installer.||JRE only contains the environment to run the source code.||JVM is bundled with JDK and JRE software.|
|It contains tools for developing, debugging, and monitoring java code.||It contains class libraries and other supporting files that JVM requires to execute the program.||Software development tools are not included in JVM.|
In the next article, I am going to discuss the environment setup for Java Application Development step by step. Here, in this article, I try to explain three concepts i.e. JDK, JVM, and JRE and the Java Application Development Lifecycle detail. I hope you enjoy this Java Application Development Lifecycle article.