保持 JVM 版本最新至关重要,这涉及多种原因,包括获取最新功能以及对关键安全漏洞的更新。通过更新软件版本,您可以享受以下益处:
- 功能改进:利用增强的特性和功能。
- 安全性增强:修复以前版本中发现的漏洞。
- 错误修复和稳定性:解决旧版本中存在的错误和稳定性问题。
- 性能优化:通过实施性能优化,可以提高应用程序的效率和速度。
- 与较新技术的兼容:确保软件与新硬件、操作系统和其他新兴技术兼容。
- 获取新功能:获取以前版本中未提供的新功能、工具和特性。
无需担心。遵循此页面的说明,您将能够快速、顺利、简单地更新 JVM 环境!
更新与升级
我们在此使用更新一词来描述安装同一主要版本的较新版本,例如从 17.0.8 更新到 17.0.9。此类更新通常风险较小,只需进行有限的测试。
升级一词用于描述迁移到较新的主要版本,例如从 JDK 17 升级到 21。升级会带来更高的风险,需要进行大量测试。
我们的博客文章《您应该更新 Java 还是升级?》更详细地描述了更新与升级之间的区别。
更新当前 JVM
我是否需要先卸载当前的 JVM?
与大多数软件问题一样,答案是“视情况而定”。Java 程序通常使用 java -jar my_app.jar
执行,其中 java
命令链接到计算机上安装了 Java 运行时的特定位置。此链接通过系统的 PATH
环境变量建立。
当安装新的 Java 更新或升级时,PATH 值很可能会被覆盖,以指向最新安装的版本。这可能导致在系统的不同位置安装多个 Java 运行时。
如果您只想使用最新版本,建议您在安装新版本之前,卸载所有以前的版本。这也有助于保持系统整洁,并且不会因为未使用的 Java 运行时而损失磁盘空间。
多个版本会导致冲突吗?
不会。由于 java
命令只能关联到一个特定位置,因此多个版本不会产生冲突。
拥有不同版本有什么益处?
其中一个应用场景是,如果开发者想比较新功能在不同版本上的性能,那么在电脑上安装这些版本可能会对他们有用。如果通过使用 Java 可执行文件的完整路径启动应用程序,您就无需更新 PATH 环境变量。
例如,在 macOS 系统上:
$ /Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home/bin/java -jar my_app.jar
如何知道是安装了一个还是多个版本?
根据版本和发行版,Java 可以安装在系统上的不同位置。以下是最典型的位置:
- MacOS:
/Library/Java/JavaVirtualMachines/
- Windows:
C:\Program Files\Java\
- Linux:
/usr/lib/jvm
Gerrit Grunwald 的 JDK Updater 是一款便捷的工具,可监控 macOS 14 及更高版本系统上已安装的 Java 版本。
特殊情况
对于特定系统和版本,您需要考虑一些特殊情况:
- 在 2023 年 10 月之前使用 RPM 和 DEB 安装程序安装的软件包
- 更新 Azul Zulu 8.68
有关这些特殊情况的所有信息,请查看 Azul Zulu 文档中的更新说明。
更新您的 JVM
如果您使用的是 Linux 或 macOS,请考虑用 SDKMAN 安装一个或多个版本的 Java。
Windows 和 macOS
您可以通过执行以下链接中描述的安装步骤,更新到新版本。更新已安装的版本时(例如,从 21.0.1 到 21.0.2),现有安装将被覆盖。
当您升级到较新的主要版本时(例如,在具有版本 21 的计算机上安装版本 22),不会移除已安装的版本。尽管如此,java 命令将不再使用它,而且它还会占用存储空间,可以通过先进行卸载来释放这些空间。
Linux
您可以通过在安装时使用的软件包管理器,更新 Linux 系统中所有已安装的软件包。
更新基于 Debian 的系统(Ubuntu、Mint、Raspberry Pi OS 等):
sudo apt update
sudo apt upgrade
更新基于 RPM 的系统(CentOS、Fedora 等):
sudo yum update
卸载当前的 JVM
您可以在以下页面找到每个平台的详细信息:
结语
使用 Azul Zulu 同一主要版本的较新版本非常简单。例如,您可以在系统中保留不同的版本,以便进行比较。在大多数情况下,您不需要移除以前的版本,但移除仍是首选做法,因为这将释放系统上的存储空间。Azul Platform Core 文档包含关于安装、移除和更新的所有最新说明。