相关疑难解决方法(0)

永久增加java堆大小?

有没有办法可以在我自己的计算机上设置jvm的默认堆大小?我想将它设置为1g,因为我总是运行自定义程序,它总是在默认的jvm大小中达到过剩点.

每次我从命令行运行我的java应用程序时,我都不想记得键入-XmX1g ...

必须有一个管理方式来做到这一点吗?

java heap size jvm-arguments

43
推荐指数
4
解决办法
9万
查看次数

无法识别的选项:--add-opens 与 _JAVA_OPTIONS 一起传递时

我正在尝试解决使用 Java 17 运行时运行 Nexus IQ 扫描仪的问题。

错误是

java.lang.reflect.InaccessibleObjectException:无法使受保护的最终 java.lang.Class java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain) 抛出 java.lang .ClassFormatError 可访问:模块 java.base 不会向未命名模块“打开 java.lang”@7225790e

所以我尝试将--add-opens java.base/java.lang=ALL-UNNAMED修复传递给运行的 JVM nexus-iq-cli.jar

不幸的是,我无法完全控制java -jar ...在 CI 上执行的命令,否则我只会--add-opens java.base/java.lang=ALL-UNNAMED显式地传递。由于该限制,我尝试使用其他一些方法来设置全局 JVM 参数设置。我想到的一种方法是使用_JAVA_OPTIONS环境变量。

令我惊讶的是 Java 因错误而退出:

无法识别的选项:--add-opens

当我尝试按如下方式传递时:

# with unix shell you can set value to some variable and execute something in one line
_JAVA_OPTIONS='--add-opens java.base/java.lang=ALL-UNNAMED' java
Run Code Online (Sandbox Code Playgroud)

另一方面,当我直接传递此选项时,Java 完全正常并且按预期运行:

java --add-opens java.base/java.lang=ALL-UNNAMED
Run Code Online (Sandbox Code Playgroud)

--add-opens java.base/java.lang=ALL-UNNAMED如果我无法直接控制java -jarCI 执行 Nexus IQ 扫描步骤的命令,我缺少什么以及传递参数的其他可能方法是什么?

java java-opts javaoptions

6
推荐指数
1
解决办法
5万
查看次数

Java程序打印出“JAVA_OPTIONS”

我开始学习Java。运行代码后,我会得到一些额外的行以及预期的输出。有人可以告诉我他们的意思吗?

我的代码:

public class HelloWorld
{
    public static void main(String[] args)
    {
        System.out.println("Hello World!!!");
    }
}
Run Code Online (Sandbox Code Playgroud)

输出:

Picked up JAVA_TOOL_OPTIONS: -agentlib:jvmhook
Picked up _JAVA_OPTIONS: -Xrunjvmhook -Xbootclasspath/a:C:\PROGRA~2\HP\QUICKT~1\bin\JAVA_S~1\classes;C:\PROGRA~2\HP\QUICKT~1\bin\JAVA_S~1\classes\jasmine.jar
Hello World!!!
Run Code Online (Sandbox Code Playgroud)

感谢您的帮助!

java

5
推荐指数
1
解决办法
2万
查看次数

全局设置JVM的属性

有没有办法设置适用于该机器上运行的所有Java进程(java.exe,javaw.exe对于Windows)的某些属性?

更清楚地假设我想使用特定时区应用于该机器中运行的所有Java进程(不更改系统时区).

我知道我们可以将它作为-D参数传递,但它只适用于那个java进程权限.但我需要它以另一种方式 - 对于每个java进程启动.

有没有办法做到这一点?

java operating-system process

4
推荐指数
1
解决办法
2392
查看次数