Java 运行时环境 (简称 JRE )是一个软件层,它在计算机的操作系统软件之上运行,提供特定 Java 程序运行所需的 类库 和其他资源。

JRE 是用于开发和运行 Java 程序的三个相互关联的组件之一。 其他两个组件如下:

  • Java 开发工具包 (简称 JDK ),这是一系列用于开发 Java 应用的工具。 开发人员按照 Java 版本和软件包或修订版 — Java Enterprise Edition (Java EE)、Java Special Edition (Java SE) 或 Java Mobile Edition (Java ME) — 来选择 JDK。 每个 JDK 始终包含兼容的 JRE,因为运行 Java 程序是 Java 程序开发过程中不可缺少的一部分。
  • Java 虚拟机 ( JVM ) 用于实时执行 Java 应用。 每个 JRE 都包含一个默认的 JRE,但开发人员可以自由选择满足其应用的特定资源需求的其他 JRE。

JRE 将使用 JDK 创建的 Java 代码与在 JVM 上运行代码所需的必要库相结合,然后创建一个 JVM 实例以执行生成的程序。 JVM 可用于多个操作系统,使用 JRE 创建的程序可在所有操作系统上运行。 通过这种方式,Java 运行时环境使 Java 程序无需修改即可在任何操作系统中运行。

可从 Oracle (链接位于 ibm.com 外部)下载 JDK,包括兼容的 JRE。

JDK 与 JRE 交互,以创建可持续的运行时环境,使基于 Java 的应用可在几乎任何操作系统中无缝执行。 以下组件构成了 JRE 运行时架构:

Java 类装入器可动态加载运行 Java 程序所需的所有类。 由于 Java 类仅在需要时才加载到内存中,因此 JRE 使用类装入器按需自动执行此过程。

字节码验证器

在将 Java 代码传递到解释器之前,由字节码验证器确保代码的格式和准确性。 如果代码违反系统完整性或访问权限,那么该类将被视为已损坏,不会加载。

字节码成功加载后,Java 解释器会创建一个 JVM 实例,以使 Java 程序能够在底层机器上本机执行。

除了 Java 虚拟机外,JRE 还包含其他各种支持软件工具和功能,旨在帮助您最大程度发挥 Java 应用的作用。

部署解决方案

JRE 安装中包含 Java Web Start 和 Java Plugin 等部署技术,用于简化应用激活过程,并为将来的 Java 更新提供高级支持。

开发工具包

JRE 还包含一些工具包,旨在帮助开发人员改进用户界面。 其中一些工具包包括:

  • Java 2D: 一种应用编程接口 (API),用于以 Java 语言绘制二维图形。 开发人员可创建丰富的用户界面、特效、游戏和动画。
  • 抽象窗口工具箱 (AWT): 用于创建对象、按钮、滚动条和窗口的图形用户界面 (GUI)。
  • Swing: 另一个轻量级 GUI,它使用一系列丰富的窗口小部件,提供灵活的用户友好型定制功能。

Java 运行时环境提供了许多集成库,帮助开发人员在他们的应用和服务之间创建无缝的数据连接。 其中一些库包括:

  • Java IDL (CORBA): 使用公共对象请求架构,支持用 Java 编程语言编写的分布式对象。
  • Java 数据库连接 (JDBC) API: 为开发人员提供若干工具,用于编写可访问远程关系数据库、平面文件和电子表格的应用。
  • Java 命名和目录接口 (JNDI): 一种编程接口和目录服务,支持客户端创建可移植的应用,这些应用可使用命名约定在数据库中访存信息。

语言和实用程序库

JRE 随附了 java.lang. 和 java.util. 包,这两个包是 Java 应用设计、包版本控制、管理和监控的基础。 其中一些包如下:

  • 集合框架: 由一组接口组成的统一架构,旨在改进应用数据的存储和处理。
  • 并发实用程序: 内含高性能线程实用程序的强大框架包。
  • 首选项 API: 轻量级、跨平台的持久 API,支持同一台机器上有多个用户定义自己的一组应用首选项。
  • 日志记录: 生成日志报告(例如安全故障、配置错误和性能问题),以供进一步分析。
  • Java 归档 (JAR): 一种独立于平台的文件格式,可将多个文件捆绑成 JAR 格式,显著提高下载速度并减小文件大小。