2010-04-03 62 views
0

我嘗試使用NetBeans桌面應用程序模板 - 增加heapsize(至512 MiB)已執行的.jar文件。 (我相信NetBeans默認使用Singleton應用程序 - SingleFrameView) 它會工作嗎?Java堆大小 - 將工作?

public static void main(String[] args) { 
     if (args == null) { 
      args = new String[1]; 
      args[0] = "Xmx512m"; 
     } else { 
      String[] tempArgs = new String[args.length+1]; 
      for (int i=0; i<args.length; i++) { 
      tempArgs[i] = args[i]; 
      } 
      tempArgs[tempArgs.length-1] = "Xmx512m"; 
      args = tempArgs; 
     } 
     launch(MyApp.class, args); 
    } 
} 
+0

它「似乎」的工作,但不知道如果這個應用程序真的使用512MiB的堆(​​JVM) – UnCon 2010-04-03 21:25:46

+0

什麼是launch()方法? – 2010-04-03 21:31:39

+0

這裏看看https://appframework.dev.java.net/nonav/javadoc/AppFramework-1.03/index.html – UnCon 2010-04-03 21:36:50

回答

1

不工作。堆空間在JVM初始化時從-Xmx參數設置。當你運行Java代碼時,已經太晚了。

如果launch()方法產生一個新的 JVM,那麼可能會有一個例外,但我沒有看到表明這種情況。

+0

當我檢查profiler JVM的大小時,它說512 MiB。 那麼這是什麼意思? 應用調整了JVM大小...... 但是它仍然只能使用128 MiB的堆? – UnCon 2010-04-03 21:41:59

+0

和其他的東西,.class字節碼文件在調整JVM的大小之後「啓動」... hmm – UnCon 2010-04-03 21:42:42

+0

好吧...畢竟不工作:-( – UnCon 2010-04-03 22:31:55