The Java Runtime Environment, or JRE, is a software layer that runs on top of a computer’s operating system software and provides the class libraries and other resources that a specific Java program requires to run.
The JRE is one of three interrelated components for developing and running Java programs. The other two components are as follows:
The JRE combines Java code created by using the JDK with the necessary libraries required to run it on a JVM and then creates an instance of the JVM that runs the resulting program. JVMs are available for multiple operating systems, and programs created with the JRE run on all of them. In this way, the Java Runtime Environment is what enables a Java program to run in any operating system without modification.
You can download the JDK, including a compatible JRE, from Oracle.
The JDK and JRE interact with one another to create a sustainable runtime environment that enables the seamless execution of Java-based applications in virtually any operating system. These attributes make up the JRE runtime architecture:
The Java ClassLoader dynamically loads all classes necessary to run a Java program. Since Java classes are only loaded into memory when they're required, the JRE uses ClassLoaders to automate this process on demand.
The bytecode verifier ensures the format and accuracy of Java code before it passes to the interpreter. If code violates system integrity or access rights, the class will be considered corrupted and won't be loaded.
After the bytecode successfully loads, the Java interpreter creates an instance of the JVM that allows the Java program to be run natively on the underlying machine.
Besides the Java virtual machine, JRE is composed of various other supporting software tools and features to get the most out of your Java applications.
Included as part of the JRE installation are deployment technologies like Java Web Start and Java plug-in that simplify the activation of applications and provide advanced support for future Java updates.
The JRE also contains toolkits designed to help developers improve their user interface. Some of these toolkits include:
Java Runtime Environment provides several integration libraries to assist developers in creating seamless data connections between their applications and services. Some of these libraries include:
Included with the JRE are java.lang. and java.util. packages that are fundamental for the design of Java applications, package versioning, management and monitoring. Some of these packages include:
Explore strategies to modernize your critical applications faster, reduce costs and use the full power of hybrid cloud and AI.
Discover how hybrid cloud and AI solutions are reshaping business strategies. Learn from industry experts, explore strategic partnerships, and dive into case studies that demonstrate how to drive innovation and optimize operations with scalable, future-ready technologies.
Unlock new capabilities and drive business agility with IBM’s cloud consulting services. Discover how to co-create solutions, accelerate digital transformation, and optimize performance through hybrid cloud strategies and expert partnerships.
Harness the combined power of AI and hybrid cloud to seamlessly integrate data, drive innovation and transform your business. Explore expert insights, success stories and real-world applications to accelerate your digital transformation.
Delta Air Lines partnered with IBM to transform its operations and deliver new customer experiences through a hybrid cloud migration.
Learn how organizations can capture business value from their cloud investments from this HFS Research report in partnership with IBM.
IBM Cloud is an enterprise cloud platform designed for regulated industries, providing open, AI-ready, secure and hybrid solutions.
Harness the power of AI-driven automation with watsonx Code Assistant to simplify coding across languages such as Python, Java and more.
Discover a comprehensive suite of developer tools for IBM Z, ranging from AI and testing to cloud-native development and transaction processing.