如何在 Linux 上安装 Java?

2025年3月31日 | 阅读 7 分钟

JVM、JRE 或 JDK 有必要吗?

Java 可以分为两类。Java 应用程序启动和运行在您的计算机上的先决条件是一个称为 Java 虚拟机 (JVM) 的运行时组件。它包含在 Java 运行时环境 (JRE) 中。Java 开发工具包 (JDK) 就像一个开发工具包,而 Java 运行时环境 (JRE) 就像一个车库,开发者可以在其中进行修复、增强和修改。需要注意的是,JRE 是 JDK 的一部分,而 JDK 也是 Java 开发工具包的一部分。

这对应于下载中的以下内容

  1. 作为用户,您只需要 JRE 就可以运行用 Java 开发的应用程序,它包含了 JVM。
  2. 如果您是程序员,您需要 JDK 才能编写 Java 程序;而 Java 虚拟机需要 JRE 来执行其主要基于 JRE 库的功能,JRE 库也包含 JVM。

JDK

同一功能版本只能安装一个 JDK 版本。如果您尝试安装同一功能版本的更新版本,而旧版本仍可用,则安装程序将删除旧版本并安装最新版本。例如,不能同时安装 JDK-20 和 JDK-20.0.1。

Java Development Kit (JDK) 是一个用于不同平台的软件开发工具包,包含了创建 Java 应用程序和小程序所需的一切。它与 JVM 和 JRE 一起,是 Java 语言实现或编程工具包的主要捆绑包之一。

JRE

开放访问的 Java 运行时环境 (JRE) 包含一个 Java 类库集合、多个专用工具以及一个独立的 JVM。JRE 是 JDK 的组件之一,因为它代表了 JDK 的一些相关元素。它也是在设备上使用 Java 进行编程最流行的环境。

Java 字节码是通过编译和转换 Java 源代码获得的。只有当 JRE 存在于任何选择的平台上时,才能运行此字节码。JRE 负责获取系统资源和加载类以检查内存访问。JRE 作为操作系统软件层运行。

JVM

Java 应用程序通常在 Java 虚拟机 (JVM) 上执行。JVM 调用 Java 程序的主要方法。作为 JRE 的一部分,JVM 是任何 Java 开发程序的重要组成部分。这是因为“一次编写,到处运行”(WORA) 这个术语被用来描述 Java 程序。

这类似于,在 Java 开发中,一个程序员可以在一个系统上编写代码,然后该脚本可以在任何支持 Java 的其他系统上运行。所有这些都由 JVM 实现。当我们编译一个 .java 文件时,Java 编译器会生成 .class 文件(包含字节码),这些文件的类名与 .java 文件相同。如果我们运行这个 .class 文件,那么就会经过以下步骤。总而言之,这些阶段描述了整个 JVM。

编译 Java 程序的语法

运行 Java 程序的语法

应该安装哪个 Java 版本?

如果这看起来有点令人不知所措,最简单的解决方案是安装对您来说最容易的 Java 实现。本地最终用户有意配置了他们可以从信誉良好的来源获得的任何 Java 12 实现,以便在应用程序请求 Java 12 时出现,但他们的存储库中只有 Java 8。可以在 Linux 平台上同时运行多个 Java 版本,而不会版本之间发生冲突。

如果您是开发人员并需要做出决策,您需要停下来考虑您需要的组件。如果您选择 Oracle 的版本,您应该知道它使用专有的字体和插件,这可能会使您的应用程序分发复杂化。IcedTea 和 OpenJDK 是最安全的开发程序。

在 Fedora 中,可以使用以下命令安装 Java。

命令

我们可以使用以下命令在 Debian 或 Ubuntu 上安装 Java。

命令


How to install Java on Linux?

下载完成后,我们可以通过以下命令进行检查

命令


How to install Java on Linux?

Java 已安装。

在线安装 Java

如果您在存储库中找不到 JRE 或 JDK,或者可用的不符合您的要求,您可以从互联网下载开源 Java 包。OpenJDK 可从 adoptopenjdk.net 下载,形式为 tarball,需要安装;或者可以使用 Azul 的 Zulu Community,形式为 RPM 或 DEB 包,或者 tarball。

从 DEB 或 RPM 安装 Java

您可以使用您的包管理器从 Azul.com 网站安装 RPM 或 DEB 文件。

要下载 RPM (Package Manager) 或 DEB 文件并在 Fedora、CentOS、RHEL 和其他类似操作系统上使用,请在终端中键入以下命令

命令

要在 Debian、Ubuntu、Pop_OS 和类似发行版上安装用于 Apt 的包,需要在终端上执行以下命令。

命令

Java 已安装。

如何使用 alternatives 设置您的 Java 版本

某些应用程序是为特定 Java 版本设计的,无法在其他版本中运行。很少发生,但确实如此。当涉及到 Linux 时,您可以使用应用程序的 alternatives 来启动,或者选择本地安装过程。

alternatives 命令允许您选择 Linux 系统中正在考虑的应用程序的特定版本。对于某些发行版,例如 Slackware,您只需要使用本地安装技术,因为没有其他安排可行。它也可以在 Fedora、CentOS 和任何其他类似发行版上作为命令使用。对于 Debian、Ubuntu 和衍生系统,执行 update-alternatives。

要检查您的 Fedora 系统当前可用的 Java 版本,请执行以下命令

命令

如果我们想要在 Debian 上进行替换,我们必须指定程序和必需项,为此可以使用以下命令

命令


How to install Java on Linux?

要决定或设置 Fedora 中的哪个 Java 版本应为系统默认,请使用以下命令

命令

要决定或设置 Debian 中的哪个 Java 版本应为系统默认,请使用以下命令

命令


How to install Java on Linux?

如果您有其他 Java 版本想与您喜欢的程序一起使用,可以根据您的意愿进行更改。

运行 Java 应用程序

JAR 文件通常用于部署 Java 应用程序。您的操作系统可能已经配置为运行 Java 应用程序,并且您可以双击其图标或从菜单中选择来启动应用程序。这取决于您在计算机或计算机系统中安装 Java 的方式。您可以直接从终端启动 Java。如果您的 Java 安装需要独立于系统的其余部分进行更改,则使用以下命令

命令


How to install Java on Linux?

Root 访问权限

要获得所需的权限,您将需要 root 凭据。如果您将 JDK 安装在指定目录(如 /opt 目录)中,请在您的主目录或您具有写入权限的目录中进行安装。

文件覆盖

将软件的下载链接点击到当前目录,并将其命名为 jdk-20.interim.update.patch 作为“文件名”,会使新程序覆盖目录中同名的文件。如果旧目录中有仍相关的文件,这一点尤其重要;不要删除它们,最好重命名它们。

系统偏好设置

当从存档文件安装 JDK 时,Java Preferences API 系统节点(java.util.prefs Java 包)的后端存储未配置。如果需要此功能,您必须手动配置 JDK。为此,请确保 /etc/.java/.systemPrefs 或 jdk-20.interim.update.patch/.systemPrefs 目录存在。

下载时需要注意的事项

  1. 要使 Java 应用程序正常运行,用户只需要一个 JRE,它由一个 JVM 以及用于在客户端操作系统上执行 Java 的库组成。
  2. 对于任何想要使用任何集成开发环境 (IDE) 编写 JAVA 代码的人来说,JDK 是必需的,因为它附带了 JRE 库,而后者包含 JVM。

可以得出结论,JDK 提供了编译、调试、部署和运行 Java 程序所需的所有要求,包括 JVM、JRE 以及编译器/调试器。因此,将下载并安装 JDK 16。

结论

在 Linux 中安装 Java 的第一个步骤是更新包索引。第二步,首先安装您的发行版默认提供的 Java Development Kit (JDK)。安装后,检查 Java 版本以确定它是否已正确安装。您可以提供一个特定的包,例如 OpenJDK 11,或特定版本的 Java,或者将其作为标准包提供。在大多数情况下,确认大多数基于 Linux 的计算机上至少存在一个基本的 Java 环境是一种有效的方法。