我创建了一个可运行的jar文件,需要在用户的机器上运行。因为我的应用程序需要大量内存,所以我使用ProcessBuilder
来指定内存参数。
public static void main(String[] args) 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,
myclass.class.getName());
Process process = processBuilder.start();
}
当我运行Eclipse时,这个1024
正常工作。当我直接从jar文件执行它时,它会抛出OutOfMemoryError
。有线索吗?