什么是 Java 运行时环境?
Java 运行时环境 (JRE) 是 Java 程序正确运行所需的软件。 Java 是一种计算机语言,支持许多当前的 Web 和移动应用程序。JRE 是 Java 程序和操作系统之间通信的底层技术。它发挥翻译和协调的作用,提供所有资源,这样您编写 Java 软件后,无需进一步修改就可以在任何操作系统上运行。
JRE 为何十分重要?
软件程序需要一个运行时环境,该环境提供对内存和其他系统资源(例如程序文件和依赖项)的访问。以前,大多数软件直接使用操作系统作为其运行时环境。这意味着开发人员必须为他们希望应用程序在其中运行的每个操作系统编写不同的代码。为了解决这个问题,Java 运行时环境(JRE)技术应运而生。
JRE 实际上是任何 Java 程序成功运行所需的三个 Java 平台组件中的一个。另外两个组件是 Java 开发工具包(JDK)和 Java 虚拟机(JVM)。
Java 开发工具包
JDK 是一组用于开发 Java 应用程序的软件工具。您可以通过下载和安装,在您的开发环境中设置 JDK。选择与您要使用的 Java 版本相匹配的 JDK 软件版本。例如,Java 标准版,Java SE 需要 Java SE JDK。
Java 虚拟机
JVM 是一种逐行运行 Java 程序的软件。开发人员配置 JVM 设置,以便在 Java 应用程序运行时管理程序资源。例如,您可以更改 JVM 内存设置,并检查 Java 应用程序在运行时使用了多少内存。
JRE 在 Java 编程语言中的作用
JRE 将您使用 JDK 创建的 Java 代码与称为库的其他内置代码结合在一起。然后,JRE 创建一个 JVM 实例,或本地副本,最终运行 Java 程序。JVM 可用于多种操作系统,JRE 生成 Java 代码的单一副本,可以在所有类型的 JVM 上运行。通过这种方式,JRE 促进了 Java 应用程序的平台独立性。只需编写一次就可以在任何平台上运行。
JRE、JVM 和 JDK 之间的区别
JDK 是 JRE 之上的软件层,包含编译器、调试器和任何软件开发环境中常见的其他工具。您在 JDK 中用类似英语的语法编写代码。JDK 对其进行编译,并将字节码传递给 JRE。而 JRE 包含类库、支持文件和 JVM。它使用这些软件组件在任何设备上运行字节码。
JRE 是如何工作的?
Java 运行时环境(JRE)运行在操作系统之上,提供特定于 Java 的额外资源。Java 开发工具包(JDK)和 JRE 相互作用,创建了一个可持续的运行时环境,可以在任何机器上运行 Java 程序文件。JRE 使用三个核心组件工作。
类加载器
Java 类库包含预先编写的代码集合,您可以根据需要调用这些代码。它们可以简化 Java 开发人员的工作,为普通和重要的任务提供内置方法,例如从用户那里获取输入、向用户显示输出等等。所有的 Java 程序都引用多个类库。Java 类加载器根据需要动态地将所有必需的类文件加载到 Java 虚拟机(JVM)中。
字节码校验器
JDK 有一个编译器,可以把您编写的类似英语的代码转换成机器语言版本,称为 Java 字节码。JRE 中的字节码校验器在将 Java 代码加载到 JVM 之前检查其格式和准确性。例如,如果代码违反了系统完整性或访问权限要求,JRE 将不会加载类文件。
解释器
字节码成功加载后,Java 解释器创建在底层机器上运行 Java 程序的 JVM 实例。
JRE 有哪些组件?
除了核心组件之外,Java 运行时环境(JRE)还包含其他几个软件组件,有助于更高效地运行 Java 程序。以下是一些示例:
开发工具
JRE 包含一些开发工具,例如用户界面工具包,您可以使用它们来提高应用程序的质量。以下是一些示例:
Java 2D
Java 2D 是一个应用程序编程接口(API),您可以使用它来绘制二维图形,并使用 Java 语言创建丰富的用户界面、游戏、动画和特效。
Swing
Swing 是一个轻量级的图形用户界面(GUI),可以提供灵活、用户友好的定制功能。
抽象窗口工具包
抽象窗口工具包(AWT)是一个 GUI,可以用来创建 UI 对象,例如按钮、窗口和滚动条。
部署解决方案
JRE 包括简化向应用程序用户发布软件变更过程的技术。这些技术还为应用程序中的更新提供高级支持。Java Web Start 和 Java 插件等部署技术是 JRE 安装的一部分。这些技术可以简化应用程序的激活,还为 JRE 的未来更新提供高级支持。以下是一些示例:
Java Web Start
通过 Java Web Start,您只需在 Web 浏览器上单击一下,就可以启动功能齐全的应用程序。
Java 插件
Java 插件在常用的浏览器和 Java 平台之间建立连接,这样您就可以在桌面浏览器中运行您的网站小程序。
语言和实用程序库
Java 类文件的集合称为 Java 包。JRE 包括多个支持版本控制、管理和监控的 Java 包。以下是一些包的示例:
集合框架
集合框架是一个统一的体系结构,包括用于改进应用程序数据的存储和处理的接口。
首选项 API
首选项 API 允许同一台机器上的多个用户定义他们自己的应用程序首选项组。
日志记录
日志记录包生成日志报告,用于对安全故障、性能问题和配置错误等事件进行问题排查。
Java Archive
Java Archive(JAR)是一种独立于平台的文件格式,允许您捆绑多个文件,以减小应用程序文件的大小并显著提高下载速度。
集成库
JRE 包括多个集成库,帮助开发人员在他们的服务和应用程序之间创建无缝的数据连接。以下是一些库的示例:
Java IDL
基于公共对象请求代理体系结构(CORBA)的 Java 接口定义语言(IDL)支持分布式数据对象,即在整个网络的不同平台之间交互的对象。例如,Java IDL 允许用 Java 编写的对象与用其他语言(例如 C、C++ 或 COBOL)编写的对象进行交互。
Java 数据库连接
开发人员使用 Java 数据库连接(JDBC)API 来编写可以访问远程数据库、电子表格和文件的应用程序。
Java 命名和目录接口
Java 命名和目录接口(JNDI)是一种目录服务,它允许客户端创建可移植的应用程序,这些应用程序使用命名规则从外部数据库获取信息。
什么是适用于 Java 的 AWS SDK?
适用于 Java 的 AWS 软件开发工具包(SDK)通过提供一组一致且为 Java 开发人员所熟悉的库,简化了 AWS 服务的使用。它还支持用于简化开发的更高级别的抽象。以 AWS 为中心的开源 Java 库现在随代码示例和 Java API 参考指南一起提供。
GitHub 上适用于 Java 的 AWS SDK 2.0 代码示例包含 Java 代码示例和 AWS 服务的实际使用案例,可帮助加速您的应用程序开发。此外,适用于 Java 的 AWS SDK API 参考指南说明了适用于 Java 的 AWS SDK 最新版的 API 操作。该参考指南还为受支持的 Web 服务协议提供请求、响应和错误的示例。
参阅适用于 Java 的 AWS SDK 开发人员指南或访问 AWS Java 开发人员中心开始使用适用于 Java 的 AWS SDK。