我是否认为在IDE中指定虚拟机参数(在此实例中使用NetBeans)时,只有在代码通过IDE本身运行时才会传递这些参数?基本上,我想指定当我的程序运行时,虚拟机的最小/初始堆大小是2Gb。我可以使用-Xms2048m命令执行此操作,但我想知道是否有某种方法可以实现此目的,而无需输入命令(出于客户的考虑)。关于虚拟机参数
即使我认为我在NetBeans和Launch4J中设置了VM参数(我将JAR包装到一个EXE文件中),当程序启动时输出运行时的总内存大小,它总是给出〜120Mb。
我错过了什么?
编辑:I输出使用的总内存大小...
int mb = 1024 * 1024;
System.out.println("Max Memory: " + Runtime.getRuntime().totalMemory()/mb);
编辑2:可能一个不是创建一个初始化程序,它不带任何参数,而是开始与有关VM参数主程序?喜欢的东西...
public class Main {
public static void main(String[] args) {
String execName = new File(new File("").getAbsolutePath()) + "\\Program.exe";
Runtime rt = Runtime.getRuntime();
rt.exec("java -Xms2048m -Xmx4096m -jar " + execName);
}
}