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.
A brief history of Java
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.
Why use a Java runtime environment?
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.
Learn more about Java at Red Hat Developer
How does a Java runtime environment work?
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.
Why Red Hat?
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.