Skip to main content

What is JDK, JRE and JVM?

Image result for jdk jre jvm images


What are JDK, JRE, and JVM:


JDK:- Java Development Kit (in short JDK) is Kit which provides the environment to Develop and execute(run ) the Java program. For eg. You(as Java Developer) are developing an accounting application on your machine, so what do you going to need into your machine to develop and run this desktop app? You are going to need J-D-K for that purpose for this you just need to go to the official website of sun or oracle to download the latest version of JDK into your machine.
Hence, JDK is a kit(or package) which includes two things i) Development Tools(to provide an environment to develop your java programs) and ii) JRE (to execute your java program). JDK is only used by Java Developers.
JRE:- Java Runtime Environment (to say JRE) is an installation package which provides an environment to only run(not develop) the java program(or application)onto your machine. For eg(continuing with the same example) after developing your accounting application, you want to run this application into your client’s machine. Now, in this case, your client only need to run your application into his/her machine so your client should install JRE in-order to run your application into his machine.
Hence, JRE is only used by them who only wants to run the Java Programs i.e. end-users of your system.
JVM:- Java Virtual machine(JVM) is a very important part of both JDK and JRE because it is contained or inbuilt in both. Whatever java program you run using JRE or JDK goes into JVM and JVM is responsible to execute the java program line by line hence it is also known as interpreter(we will discuss interpreter later). Hence you don’t need to install JVM separately into your machine because it is inbuilt into your JDK or JRE installation package.

Comments

Popular posts from this blog

JDK 25: The new features in Java 25

 Java Development Kit (JDK) 25, scheduled for release in September 2025, is set to introduce several significant enhancements. Here's an overview of the notable features: 1. Stable Values API (Preview): This feature introduces stable values—objects holding immutable data treated as constants by the Java Virtual Machine (JVM). By allowing greater flexibility in initialization timing compared to final fields, stable values aim to improve application startup times. They enable performance optimizations akin to constant-folding, previously exclusive to JDK code, and ensure thread-safe, single-time initialization. This decouples the creation of stable values from their initialization without significant performance penalties.  2. Removal of 32-bit x86 Port: JDK 25 plans to eliminate both the source code and build support for the 32-bit x86 port, which was deprecated in JDK 24. Maintaining this port has become less beneficial, especially with the challenges in keeping it updated wit...

what is circuit breaker in microservice

   A circuit breaker is a design pattern used in microservice architecture to improve the resilience and fault tolerance of the system. In a microservice architecture, multiple services work together to deliver a business function. When a service is not available, the downstream services depending on it may start to fail as well, leading to a cascading failure. A circuit breaker helps prevent cascading failures by monitoring the status of the dependent services. If a dependent service is not responding, the circuit breaker trips and redirects the traffic to a fallback mechanism, such as a cache or a default response. The circuit breaker periodically attempts to reconnect to the dependent service, and once it's available, it resumes directing traffic to it. The circuit breaker pattern helps prevent failures from spreading across the system, improves the availability of the overall system, and can help reduce the load on dependent services.

Java RoadMap