📜  Java中的JRE

📅  最后修改于: 2022-05-13 01:55:17.736000             🧑  作者: Mango

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 运行时体系结构由下列元素组成:

  1. 类加载器
  2. 字节码验证器
  3. 口译员

现在让我们简要介绍一下它们:

  • 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) 的设备上运行。