The JRE is the software environment in which programs compiled for a typical JVM implementation can run. The runtime system includes:
The code necessary to run Java programs, dynamically link native methods, manage memory, and handle exceptions.
An implementation of the JVM.
This figure shows the JRE and its components, including a typical JVM implementation's various modules and its functional position with respect to the JRE and class libraries.