The Java Runtime Environment (JRE), also known as Java Runtime, is the part of the Java Development Kit (JDK) that contains and orchestrates the set of tools and minimum requirements for executing a Java application. The JDK, along with the Java Virtual Machine (JVM) and the JRE, can be used by developers to program and run Java applications.
In order for a software program to execute code, it needs a runtime environment to load class files, verify access to memory and retrieve system resources. The JRE specifically contains a Java class loader, which is responsible for loading classes and connecting them to the core Java class libraries, and the JVM, that ensures proper environment performance.
The JRE acts as a software layer on top of an operating system that enforces uniformity and provides additional Java services, such as automatic memory. It also includes:
- Deployment technologies like Java Web Start and Java Plug-in.
- User interface toolkits like Java 2D.
- Integration libraries like Java Database Connectivity (JDBC) and Java Naming and Directory Interface (JNDI).
- Lang and util libraries like Java Archive (JAR).
- Other base libraries like Java Management Extensions (JMX), Java Native Interface (JNI) and Java for XML Processing (JAX-WS).