The Java Runtime Environment (JRE) is a software distribution released by Oracle. It contains a stand-alone Java VM (HotSpot), browser plug-in, Java standard libraries and a configuration tool. Put simply, JRE is a software package that contains all that is needed to run a Java program.
Freely available for download, JRE is the most common Java environment installed on Windows computers.
One of the key components of the Java Runtime Environment is the Java VM, also called HotSpot.
A Java Virtual Machine (JVM) is an abstract computing machine which allows a computer to run a Java program. There are three aspects to the JVM – specification, implementation and instance.
The specification ensures all implementations are interoperable, while the implementation is a computer program which meets the specification requirements. The instance is an implementation running in a process that executes a computer program complied into Java bytecode.
The Java Runtime Machine used in the JRE is called HotSpot. First released in April 1999, the virtual machine is written in C++ and contains approximately 250,000 lines of code. Hotspot provides a class loader, bytecoder interpreter, Client and Server virtual machines, garbage collectors and a set of supporting runtime libraries.
Designed as a virtual machine for desktops and servers, HotSpot looks to improve performance with a number of techniques like just-in-time compilation and adaptive optimisation.
Due to JRE being one of the most common Java environments, security is a major issue. This is because Java provides an easily accessible attack surface to malicious web sites, since any web page visited may run Java applets. It has been found that the Java web browser plug-in is widely used by computer criminals, with Java exploits used in many exploit packs deployed by hackers. Oracle has moved to mitigate these threats by including automatic updates for JRE for Windows.