没有 JRE 的 JVM

没有 JRE 的 JVM

为什么没有 Java 运行环境,Java 虚拟机就无法运行?

Java 虚拟机的目的是什么?Java 运行时环境的目的是什么?两者究竟是什么?

答案1

Java 软件包维护者决定将 Java 虚拟机 (JVM) 包含在 Java 运行时环境 (JRE) 中,而 Java 运行时环境本身包含在 Java 开发工具包 (JDK) 中。在 Ubuntu 存储库中安装 Java 的两种选项都包含 JVM。没有 JVM,Java 程序就无法运行。JVM 负责运行 Java 程序,但 JVM 可以执行的唯一文件是 Java 字节码,即已编译的 Java 源代码。来源

来自Oracle 文档

Java 运行时环境 (JRE)

Java 运行时环境 (JRE) 提供库、Java 虚拟机和其他组件,用于运行用 Java 编程语言编写的小程序和应用程序。此外,JRE 还包含两项关键部署技术:Java 插件,使小程序能够在流行的浏览器中运行;Java Web Start,通过网络部署独立应用程序。它也是 Java 2 平台企业版 (J2EE) 中用于企业软件开发和部署的技术的基础。JRE 不包含用于开发小程序和应用程序的工具和实用程序,例如编译器或调试器。

Java 开发工具包 (JDK)

JDK 是 JRE 的超集,包含 JRE 中的所有内容,以及开发小程序和应用程序所需的编译器和调试器等工具。

要在计算机上运行 Java 程序,您只需安装 JRE。如果您打算进行一些 Java 编程,则需要安装 JDK。

sudo apt install default-jre在 Ubuntu 中,可以通过和安装默认的 JRE 和 JDK 包sudo apt install default-jdk。也可以安装特定版本的 JRE 和 JDK,例如openjdk-11-jreopenjdk-11-jdk

网络浏览器 Java 插件和 Java Web Start 是 Oracle Java 的一部分,但不包含在默认 Ubuntu 存储库中的 OpenJDK 中。

答案2

Java 虚拟机 (JVM) 是程序。它能够读取和执行已编译的 Java 代码。可以将其视为计算机中的处理器。

Java 运行时环境 (JRE) 是平台. 它包括 JVM 和其他代码和库,用于创建功能环境运行Java程序。可以把它想象成安装在计算机上的操作系统。

JVM‘需要’JRE,就像处理器 (CPU)‘需要’操作系统 (OS) 一样:严格来说,两者并不相互依赖,但如果没有专业知识,您将很难让它做任何有用的事情。

此外,还有 Java 开发工具包 (JDK),它是一个工具集合。它包括一个编译器和各种调试和信息收集工具,用于创建 Java 应用程序。它可能包括一个 JRE。

答案3

JVM是解释 Java 字节码并执行它的虚拟机,因此基于 Java 字节码的程序可以在当前机器上运行。

执行环境是 Java 的标准库集。Java 程序中使用的每个类(类字符串、对象等)

有可能运行 Java 字节码而不全部的JRE,但不是完全没有它,因为 JVM 使用了许多来自 JRE 的类(比如 Object、String、Unsafe 等等)。

相关内容