如何在 Java 9+ 中设置默认垃圾收集器?
How to set default garbage collector in Java 9+?
是否有我可以使用的系统范围或帐户范围的配置文件?我不想使用 MAVEN_OPTS,因为分叉的 java 进程不会接收它。
有一个lib/jvm.cfg,虽然我不明白它的语义或者它是否可以用于那个目的。
AFAIK,没有系统范围的方法来为所有 Java 进程设置 JVM 标志。 3rd 方工具通常使用各种环境变量。其中一些描述如下:
但是,当您使用 java
命令直接启动应用程序时,这些并不适用。
"jvm.cfg" 文件没有帮助。它实现了一种(未记录的)机制来配置 java
命令的 "known JVMs" 和 select 它们的 JVM 选项。 (有关详细信息,请参阅 OpenJDK 11 源代码树中的 src/java.base/share/native/libjli/java.c
。)
这给你留下了笨重/笨拙/脆弱的替代品,例如:
- 将
java
定义为 shell 函数或别名
- 为
java
命令编写包装脚本,并将其放在实际 java
二进制文件之前的 PATH 中。
是否有我可以使用的系统范围或帐户范围的配置文件?我不想使用 MAVEN_OPTS,因为分叉的 java 进程不会接收它。
有一个lib/jvm.cfg,虽然我不明白它的语义或者它是否可以用于那个目的。
AFAIK,没有系统范围的方法来为所有 Java 进程设置 JVM 标志。 3rd 方工具通常使用各种环境变量。其中一些描述如下:
但是,当您使用 java
命令直接启动应用程序时,这些并不适用。
"jvm.cfg" 文件没有帮助。它实现了一种(未记录的)机制来配置 java
命令的 "known JVMs" 和 select 它们的 JVM 选项。 (有关详细信息,请参阅 OpenJDK 11 源代码树中的 src/java.base/share/native/libjli/java.c
。)
这给你留下了笨重/笨拙/脆弱的替代品,例如:
- 将
java
定义为 shell 函数或别名 - 为
java
命令编写包装脚本,并将其放在实际java
二进制文件之前的 PATH 中。