What is a Java runtime environment (JRE)?

Copy URL

A Java™ runtime environment (JRE) is a set of components to create and run a Java application. A JRE is part of a Java development kit (JDK).

A JRE is made up of a Java virtual machine (JVM), Java class libraries, and the Java class loader. JDKs are used to develop Java software; JREs provide programming tools and deployment technologies; and JVMs execute Java programs.

Java is an object-oriented programming language created in 1995 that developers and programmers use to communicate instructions to a computer. Java remains one of the most popular programming languages today. 

Learn more about Java at Red Hat Developer

Red Hat resources

In order for software to execute a program, it needs an environment to run in—usually an operating system (OS) like Linux, Unix, Microsoft Windows, or MacOS. With no other supporting environments, programs are constrained by the capabilities of the OS and it’s resources (such as memory and program files). 

A JRE acts as a kind of translator and facilitator between the Java program and the OS. 

A Java runtime environment runs on top of the OS and provides additional Java-specific resources. It abstracts the OS and creates a consistent platform on which to run and deploy Java applications. The 3 components of the JRE work together within this environment to successfully run a Java application.

The Java class libraries contain collections of prewritten code that can be called when needed. The class loader connects class libraries with the JVM and loads them into the JVM while the program is running. The JVM then executes the code.

Because our Red Hat Runtimes product supports all kinds of Java development, including the Red Hat build of OpenJDK, and support for popular Java frameworks like Quarkus, Spring Boot, Eclipse Vert.x, and more.

Red Hat Runtimes provides a set of comprehensive frameworks, runtimes, and programming languages for cloud-native application development. Java developers can integrate their apps with capabilities included in Red Hat Runtimes—like single sign-on, distributed messaging, and in-memory caching.

Hub

The official Red Hat blog

Get the latest information about our ecosystem of customers, partners, and communities.

All Red Hat product trials

Our no-cost product trials help you gain hands-on experience, prepare for a certification, or assess if a product is right for your organization.

Keep reading

What is serverless?

Serverless is a cloud-native development model that allows developers to build and run applications without having to manage servers.

Stateful vs stateless applications

The difference between stateful and stateless applications is that stateful applications save past and present information while stateless applications don’t.

What is application migration?

Application migration is a process that can improve workloads by moving an application from one environment to another.

Application development and delivery resources