• Skip to main content
  • Skip to primary sidebar
  • Skip to secondary sidebar
  • Skip to footer

Computer Notes

Library
    • Computer Fundamental
    • Computer Memory
    • DBMS Tutorial
    • Operating System
    • Computer Networking
    • C Programming
    • C++ Programming
    • Java Programming
    • C# Programming
    • SQL Tutorial
    • Management Tutorial
    • Computer Graphics
    • Compiler Design
    • Style Sheet
    • JavaScript Tutorial
    • Html Tutorial
    • Wordpress Tutorial
    • Python Tutorial
    • PHP Tutorial
    • JSP Tutorial
    • AngularJS Tutorial
    • Data Structures
    • E Commerce Tutorial
    • Visual Basic
    • Structs2 Tutorial
    • Digital Electronics
    • Internet Terms
    • Servlet Tutorial
    • Software Engineering
    • Interviews Questions
    • Basic Terms
    • Troubleshooting
Menu

Header Right

Home » Java » Evolution » Difference Between JRE ,JDK and JVM
Next →
← Prev

Difference Between JRE ,JDK and JVM

By Dinesh Thakur

We’ll be covering the following topics in this tutorial:

  • Java Virtual Machine (JVM)
  • Java Runtime Environment (JRE)
  • Java Development Kit (JDK)

Java Virtual Machine (JVM)

JVM is a set of computer software programs and data structures which implements a specific Virtual machine model.

JVM is treated as virtual because it is a virtual computer defined by its specification.

All java programs are executed at the runtime through JVM.

At the runtime JVM performs some specific task like

1. Manage the system memory

2. It provides security against malicious code.

3. It manages multiple numbers of threads

Java provides a layer of abstraction between compiled java programs and Operating System.

This model accepts a form of computer intermediate language, commonly known as byte code.

JVM creates a separate block of memory i.e. called string constant pool and store the object there. JVM first checks whether the same object is already available in the string constant pool and if it is available then it creates another reference to it. If the same object is not available then it creates another object with the content “variable name” and stores it into the string constant pool.

If the programmer doesn’t declare the package then JVM automatically takes the package name as p1 and by default all the class files are stored in p1.

Exit() is a predefined static method present in System class, used to terminate the currently running JVM.

Byte code:-

  1. Byte code is the form of instructions that the JVM executes at the runtime.
  2. After the compilation of java source code .class file is created that holds byte code and it is not the machine code for machine but for the JVM.
  3. Each byte code instructions is one byte in length, thus the number of byte codes is limited to 256.

Life Time of JVM:-

  • A runtime instance of JVM will born when .class file starts its execution and the runtime instance of JVM will die when .class file completes its execution. For every .class file, one JVM instance will work.
  1. Class Loader: It is the sub-system of jvm. When the java source code is successfully compiled by the compiler, then it generates java byte codes .Java bytecode are resides in the .class file. Internally .class file resides in the current working directory .Class loader subsystem takes the copy of the class file and load it in the memory before jvm executes java bytecode. It Loads the .class file into memory and checks the correctness of .class file. It allocates the memory to the static block and static variable. If the static variable is not initialized it assigned the default value to the static variable and the static variable is initialized when the class file loaded in the memory.
  2. Method Area: It is just a logical memory component of jvm. It holds the information about the class and interface. All the static variable, static block static method resides in the method area ..Size of method area is not fixed because its size depends on the size of application.
  3. Heap: Heap is another logical memory component used by jvm. When the programmer construct the object through the memory from the heap.
  4. Java stack: It is another logical component used by jvm. All the local variables or reference or any argument pass by programmer then memory is allocated from the java stack.
  5. PC register: It is popularly known as program counter register. It holds the address of instructions that to be executed next and it keeps the track of sequential execution of the program.
  6. Native method Area: When the programmer passes any argument in the native method, then they capture the memory from the native method area.
  7. Execution engine:- It is treated as a virtual processor and it generates, manage & executes java bytecode.

Java Runtime Environment (JRE)

The JRE is the smallest set of executables and files that constitute the standard java plot form. The Java Runtime Environment (JRE) provides the libraries, the Java Virtual Machine, and other components to run applets and applications written in the Java programming language. In addition, two key deployment technologies are part of the JRE:

Java Plug-in, which enables applets to run in popular browsers; and Java Web Start, which deploys standalone applications over a network.

(a) Java Plug-in : Java Plug-in technology, included as part of the Java Runtime Environment, Standard Edition (Java SE), establishes a connection between popular browsers and the Java platform. This connection enables applets on Web sites to be run within a browser on the desktop.

(b) Java Web Start : Using Java Web Start technology, standalone Java software applications can be deployed with a single click over the network. Java Web Start ensures the most current version of the application will be deployed, as well as the correct version of the Java Runtime Environment (JRE).

Java Development Kit (JDK)

JDK Short for Java Development Kit, a software development kit for Java programming language. The Java Development Kit (JDK) is developed by Sun Microsystem’s. it contain JRE(Java Runtime Environment) and development tools

You’ll also like:

  1. Java Virtual Machine (JVM) & its Architecture
  2. Difference Between Analog and Digital Signal | Difference and Comparison
  3. What is the difference between ‘for’ and ‘while’ loops
  4. What is the difference between IF-ELSE and SWITCH?
  5. What is the difference between Class and Structure
Next →
← Prev
Like/Subscribe us for latest updates     

About Dinesh Thakur
Dinesh ThakurDinesh Thakur holds an B.C.A, MCDBA, MCSD certifications. Dinesh authors the hugely popular Computer Notes blog. Where he writes how-to guides around Computer fundamental , computer software, Computer programming, and web apps.

Dinesh Thakur is a Freelance Writer who helps different clients from all over the globe. Dinesh has written over 500+ blogs, 30+ eBooks, and 10000+ Posts for all types of clients.


For any type of query or something that you think is missing, please feel free to Contact us.


Primary Sidebar

Java Tutorials

Java Tutorials

  • Java - Home
  • Java - IDE
  • Java - Features
  • Java - History
  • Java - this Keyword
  • Java - Tokens
  • Java - Jump Statements
  • Java - Control Statements
  • Java - Literals
  • Java - Data Types
  • Java - Type Casting
  • Java - Constant
  • Java - Differences
  • Java - Keyword
  • Java - Static Keyword
  • Java - Variable Scope
  • Java - Identifiers
  • Java - Nested For Loop
  • Java - Vector
  • Java - Type Conversion Vs Casting
  • Java - Access Protection
  • Java - Implicit Type Conversion
  • Java - Type Casting
  • Java - Call by Value Vs Reference
  • Java - Collections
  • Java - Garbage Collection
  • Java - Scanner Class
  • Java - this Keyword
  • Java - Final Keyword
  • Java - Access Modifiers
  • Java - Design Patterns in Java

OOPS Concepts

  • Java - OOPS Concepts
  • Java - Characteristics of OOP
  • Java - OOPS Benefits
  • Java - Procedural Vs OOP's
  • Java - Polymorphism
  • Java - Encapsulation
  • Java - Multithreading
  • Java - Serialization

Java Operator & Types

  • Java - Operator
  • Java - Logical Operators
  • Java - Conditional Operator
  • Java - Assignment Operator
  • Java - Shift Operators
  • Java - Bitwise Complement Operator

Java Constructor & Types

  • Java - Constructor
  • Java - Copy Constructor
  • Java - String Constructors
  • Java - Parameterized Constructor

Java Array

  • Java - Array
  • Java - Accessing Array Elements
  • Java - ArrayList
  • Java - Passing Arrays to Methods
  • Java - Wrapper Class
  • Java - Singleton Class
  • Java - Access Specifiers
  • Java - Substring

Java Inheritance & Interfaces

  • Java - Inheritance
  • Java - Multilevel Inheritance
  • Java - Single Inheritance
  • Java - Abstract Class
  • Java - Abstraction
  • Java - Interfaces
  • Java - Extending Interfaces
  • Java - Method Overriding
  • Java - Method Overloading
  • Java - Super Keyword
  • Java - Multiple Inheritance

Exception Handling Tutorials

  • Java - Exception Handling
  • Java - Exception-Handling Advantages
  • Java - Final, Finally and Finalize

Data Structures

  • Java - Data Structures
  • Java - Bubble Sort

Advance Java

  • Java - Applet Life Cycle
  • Java - Applet Explaination
  • Java - Thread Model
  • Java - RMI Architecture
  • Java - Applet
  • Java - Swing Features
  • Java - Choice and list Control
  • Java - JFrame with Multiple JPanels
  • Java - Java Adapter Classes
  • Java - AWT Vs Swing
  • Java - Checkbox
  • Java - Byte Stream Classes
  • Java - Character Stream Classes
  • Java - Change Color of Applet
  • Java - Passing Parameters
  • Java - Html Applet Tag
  • Java - JComboBox
  • Java - CardLayout
  • Java - Keyboard Events
  • Java - Applet Run From CLI
  • Java - Applet Update Method
  • Java - Applet Display Methods
  • Java - Event Handling
  • Java - Scrollbar
  • Java - JFrame ContentPane Layout
  • Java - Class Rectangle
  • Java - Event Handling Model

Java programs

  • Java - Armstrong Number
  • Java - Program Structure
  • Java - Java Programs Types
  • Java - Font Class
  • Java - repaint()
  • Java - Thread Priority
  • Java - 1D Array
  • Java - 3x3 Matrix
  • Java - drawline()
  • Java - Prime Number Program
  • Java - Copy Data
  • Java - Calculate Area of Rectangle
  • Java - Strong Number Program
  • Java - Swap Elements of an Array
  • Java - Parameterized Constructor
  • Java - ActionListener
  • Java - Print Number
  • Java - Find Average Program
  • Java - Simple and Compound Interest
  • Java - Area of Rectangle
  • Java - Default Constructor Program
  • Java - Single Inheritance Program
  • Java - Array of Objects
  • Java - Passing 2D Array
  • Java - Compute the Bill
  • Java - BufferedReader Example
  • Java - Sum of First N Number
  • Java - Check Number
  • Java - Sum of Two 3x3 Matrices
  • Java - Calculate Circumference
  • Java - Perfect Number Program
  • Java - Factorial Program
  • Java - Reverse a String

Other Links

  • Java - PDF Version

Footer

Basic Course

  • Computer Fundamental
  • Computer Networking
  • Operating System
  • Database System
  • Computer Graphics
  • Management System
  • Software Engineering
  • Digital Electronics
  • Electronic Commerce
  • Compiler Design
  • Troubleshooting

Programming

  • Java Programming
  • Structured Query (SQL)
  • C Programming
  • C++ Programming
  • Visual Basic
  • Data Structures
  • Struts 2
  • Java Servlet
  • C# Programming
  • Basic Terms
  • Interviews

World Wide Web

  • Internet
  • Java Script
  • HTML Language
  • Cascading Style Sheet
  • Java Server Pages
  • Wordpress
  • PHP
  • Python Tutorial
  • AngularJS
  • Troubleshooting

 About Us |  Contact Us |  FAQ

Dinesh Thakur is a Technology Columinist and founder of Computer Notes.

Copyright © 2025. All Rights Reserved.

APPLY FOR ONLINE JOB IN BIGGEST CRYPTO COMPANIES
APPLY NOW