繁体   English   中英

在运行与 JVM 兼容的程序(Java、Kotlin、Scala 等)时​​,如何更改 JVM 实现(例如 HotSpot、GraalVM、OpenJ9 等)?

[英]How can I change JVM implementation (e.g. HotSpot, GraalVM, OpenJ9 e.t.c.) when running JVM-compatible programs (Java, Kotlin, Scala e.t.c.)?

我需要更改 JVM 实现以比较哪一个更适合我需要满足的要求。 我怎样才能做到这一点? 特别是在 GNU/Linux 或 MacOS 上。 使用java控制台命令运行 java 程序时,有没有办法设置 JVM 实现? 或者我可能需要更改一些包含 JVM 实现的 lib 文件? 帮助将不胜感激。

当您的机器上有多个 JVM 时,您可以在执行java命令时简单地限定您想要的一个。

至少 Windows 上的 Oracle JVM 是这样工作的。 我没有在 Linux 或其他任何人上尝试过,但是 JVM 不需要在 PATH 上,您可以限定您想要的那个。

有关如何工作的示例,请参阅我对另一个问题的回答

在一台机器上有多个 JVM 实现很容易,您只需将每个实现放在自己的目录中。 就我个人而言,我在 Linux 上使用/opt ,但您可以选择放置它们的位置。

然后,您需要做的就是更改PATH环境变量以确保列表中具有 java 可执行文件的第一个目录是您要使用的目录,例如

PATH=/opt/JDK8/bin:$PATH

您还可以设置JAVA_HOME环境变量,但这不会直接影响使用哪个 JVM,它只是其他应用程序(如 Tomcat)使用的约定。 通过这样做,您可以设置一次 PATH,

PATH=$JAVA_HOME/bin:$PATH

然后只需更改 JAVA_HOME 变量以反映您要使用的 Java 版本。

这适用于 Linux 和 Mac(这是一个基于 UNIX 的操作系统)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM