gpt4 book ai didi

java - 使用更大的堆空间重新启动 JVM

转载 作者:搜寻专家 更新时间:2023-11-01 01:47:15 24 4
gpt4 key购买 nike

我希望能够执行 .Jar 文件,如果堆空间设置得不够大,它应该使用相同的 .Jar 文件启动一个新的 JVM,但设置更大的堆空间,然后关闭第一个 JVM 和 .Jar。

我试过使用 ProcessBuilder,但无法正常工作。

它必须跨平台工作。

-ONi

最佳答案

我找到了解决方案,它可以跨平台工作。要从代码重新启动 JVM,请使用以下命令。这个答案取 self 在这里搜索了几个小时后发现的另一个问题。如果需要,您可以在调用此方法后使用 System.exit(0) 来终止启动新进程的 JVM。

public static void startSecondJVM() throws Exception {
String separator = System.getProperty("file.separator");
String classpath = System.getProperty("java.class.path");
String path = System.getProperty("java.home")
+ separator + "bin" + separator + "java";
ProcessBuilder processBuilder =
new ProcessBuilder(path, "-Xmx1024m", "-cp",
classpath,
Main.class.getName());
Process process = processBuilder.start();
}

关于java - 使用更大的堆空间重新启动 JVM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6069878/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com