Java中的JRE
Java Runtime Environment (JRE) 是一个开放访问的软件发行版,它具有Java类库、特定工具和单独的 JVM。 JRE 是Java开发工具包 (JDK) 中相互关联的组件之一。它是运行Java程序的设备上最常见的环境。 Java源代码被编译并转换为Java字节码。如果你想在任何平台上运行这个字节码,你需要 JRE。 JRE 加载类检查内存访问并获取系统资源。 JRE 充当操作系统之上的软件层。
JRE 的组件
- 集成库包括Java数据库连接 (JDBC)
- Java命名、接口定义语言 (IDL)
- 目录接口 (JNDI)
- 通过 Internet Inter-Orb 协议 (RMI-IIOP) 的远程方法调用
- 远程方法调用 (RMI)
- 脚本
Java虚拟机 (JVM) 由Java HotSpot 客户端和服务器虚拟机组成。
- 用户界面库包括 Swing、 Java 2D、Abstract Window Toolkit (AWT)、Accessibility、Image I/O、Print Service、Sound、拖放 (DnD) 和输入法。
- Lang 和 util 基础库,包括 lang 和 util、zip、集合、并发实用程序、管理、 Java存档 (JAR)、仪器、反射、版本控制、首选项 API、引用对象、日志记录和正则表达式。
- 其他基础库,包括Java管理扩展 (JMX)、 Java本机接口 (JNI)、数学、网络、国际支持、输入/输出 (I/O)、Beans、 Java覆盖机制、安全性、序列化、扩展机制和Java用于 XML 处理 (XML JAXP)。
- Java Web Start、部署和Java插件等部署技术。
JRE的工作
Java开发工具包 (JDK) 和Java运行时环境 (JRE) 都相互交互以创建可持续的运行时环境,使基于 Java 的应用程序能够在任何操作系统上无缝运行。 JRE 运行时体系结构由下列元素组成:
- 类加载器
- 字节码验证器
- 口译员
现在让我们简要介绍一下它们:
- ClassLoader : Java ClassLoader 动态加载运行Java程序所需的所有类。因为类只在需要时才加载到内存中,所以 JRE 使用 ClassLoader 将在需要时自动执行此过程。
- 字节码验证器:字节码检查器在将Java代码传递给解释器之前确保其格式和精度。如果代码违反系统完整性或访问权限,则认为该类已损坏并且不会加载。
- 解释器:成功加载字节码后, Java解释器创建一个Java虚拟机对象,允许Java程序在底层机器上原生运行。
JRE 如何与 JVM 一起工作?
JRE 有一个 JVM 对象、开发工具和库类。要了解Java运行时环境的工作原理,让我们看一个打印“GeeksForGeeks”的简单Java程序示例。
例子:
Java
// Java class
class GFG {
// Main driver method
public static void main(String[] args) {
// Print statement
System.out.println("GeeksForGeeks");
}
}
输出
GeeksForGeeks
一旦你编写了你的Java程序,你必须用一个带有“. Java”扩展名。然后在你编译你的程序之后。 Java编译器的输出是字节码,它是与平台无关的代码。编译后,编译器生成一个包含字节码的.class文件。字节码与平台无关,可在所有包含Java运行时环境 (JRE) 的设备上运行。