我是否認爲在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);
}
}