Discover the Difference Between JDK JRE & JVM

Date

May 16, 24

Reading Time

4 minutes

Category

Technology

Author

Relinns

    Table of content
  • Introduction
  • Relinns Careers Website
  • Java Development Kit (JDK)
  • JRE
  • JVM 
  • Conclusion
Relinns Careers Website

Introduction

JDK JRE and JVM are core concepts of the Java programming language. Here in this blog, we are going to differentiate between the above concepts, lets start without wasting much time.

To write and run the java program we need some development tool, which is JDK.JDK provides us both the tool to write the java program and also provides the environment to execute such java programs. We don't use these concepts in programming. But, as Java developers, we should know about them.

 

Java Development Kit (JDK)

Java Development Kit (JDK) is a software development kit required to develop applications in Java. When you download JDK, JRE is also downloaded with it. In addition to JRE, JDK also contains several development tools like compilers, JavaDoc, Java Debugger, etc. JDK is an implementation of any one of the below given Java Platforms:

  •       Standard Edition Java Platform
  •       Enterprise Edition Java Platform
  •       Micro Edition Java Platform

 

Standard Edition Java:

Java Platform, Standard Edition (Java SE) is a computing platform for the development and deployment of portable code for desktop and server environments. Java SE was formerly known as Java 2 Platform, Standard Edition (J2SE). The platform uses Java programming language and is part of the Java software-platform family

Suggested Reading: Beginner’s Guide to Java in 2024

 

Enterprise Java

Enterprise Java is the use of Java for application development in enterprise-scale software, and merges a collection of APIs and application servers that implement those APIs. Enterprise Java also includes related technologies, such as the Spring Framework.

 

Micro Edition

Java Platform, Micro Edition (Java ME) provides a robust, flexible environment for applications running on embedded and mobile devices in the Internet of Things: micro-controllers, sensors, gateways, mobile phones, personal digital assistants (PDAs), etc.

JDK is a platform-specific software that's we need separate installers for Windows, Mac, and Unix systems also JDK contains JRE with Java compiler, debugger, and core classes. components of JDK include: 

JRE

Development Tools

Java Development Kit | JDK

JRE

JRE is the implementation of JVM. It provides a platform to execute java programs. JRE consists of JVM, Java binaries, and other classes to execute any program successfully

JRE also consists of various technologies of deployment, user interfaces to interact with code executed, some base libraries for different functionalities, and language and util-based libraries.

JRE doesn’t contain any development tools such as Java compiler, debugger, JShell, etc.

If you just want to execute a java program, you can install only JRE. You don’t need JDK because there is no development or compilation of java source code is required.

components of the JRE are:

Java Virtual Machine (JVM)

Classes required to run the Java programs

Property Files

JRE

 

JVM 

JVM is the heart of the Java programming language.JVM stands for Java virtual machine.

It is an abstract computing machine with its own instruction set and manipulates various memory areas at runtime.

 It is JVM that is responsible for converting Byte code to machine-specific code.

 It can also run those programs which are written in other languages and compiled to Java bytecode.

Java is a platform-independent language. It's because when you write Java code, it's ultimately written for JVM but not your physical machine (computer). Since JVM executes the Java bytecode which is platform-independent, Java is platform-independent.

The JVM performs the mentioned tasks: Loads code, Verifies code, Executes code, Provides a runtime environment.

JVM
  • ClassLoaders: Initial tasks of the JVM include loading, verifying, and linking the bytecode. Class loaders handle these tasks.
  • Memory Area: memory area is analogous to the storage area for compiled code. It stores structures such as run-time constant pool, field, and method data.
  • Execution Engine: It executes the instructions using information present in the memory areas. Once classloaders load and verify bytecode, the interpreter executes the bytecode line by line.

 

Conclusion

In this blog, we identified that the basic difference between JDK JRE JVM and lies in their usage. First, we understood how to develop Java applications, using the JDK. Then, we explained how to just run Java applications, we use the JRE and at last, the JVM which converts the Java bytecode into machine-readable code. leave a comment and if you are looking for an online business, kindly visit  (AppsRhino/ Relinns).You will analyze requirements and provide solutions to complex problems, enhancing your learning experience through hands-on approach and mentorship from experienced developers.

Companies like Relinns Technologies have multiple Java developer internships available. They are working on application and web development along with customized chatbot development. Visit their careers page to apply directly. 

Relinns Technologies

LET’S WORK TOGETHER · LET’S WORK TOGETHER · LET’S WORK TOGETHER · LET’S WORK TOGETHER · LET’S WORK TOGETHER · LET’S WORK TOGETHER · LET’S WORK TOGETHER · LET’S WORK TOGETHER · LET’S WORK TOGETHER · LET’S WORK TOGETHER · LET’S WORK TOGETHER · LET’S WORK TOGETHER ·

Relinns Careers Page

Copyright © 2016 - 2024 Relinns Technologies Pvt. Ltd. All Rights Reserved.

Privacy policy
Follow us

Copyright © 2016 - 2024 Relinns Technologies Pvt. Ltd. All Rights Reserved.

Privacy policy