2006-06-07

Tags: 程式語言

這裡說的OutOfMemory RuntimeException指的不是開啟Eclipse時的"啟動不能"狀態,然後出現一個視窗訊息跟你說:「窮小子!沒有個512MB以上的記憶體,請乖乖用Notepad寫程式!」這類的訊息(這句是開玩的!別當真呀...XD...記憶體太少Eclipse無法啟動的話,Eclipse.ini設定檔改一改就可以跑了)。而是指當你程式寫完時,用Eclipse執行你寫的class,系統卻出現OutOfMemory的解決之道。

排除程式沒寫好而導致OutOfMemory的問題之外,因為一些特別需要(比如產生一個有六萬筆資料的Excel資料表),有時也會出現OutOfMemory的問題,這時就要想辦法去解決了...( ̄⊿ ̄")

如果是直接下Console Command當然很簡單,只要用類似下面的指令就可以解決了
java -Xms128m -Xmx512m HelloWorld

不過...在Eclipse就不能這樣玩了,而是必需改class在執行時的Runtime設定

如果是J2SE的程式可以參照下圖的改法,把JVM的Memory加大

如果是J2EE上的Web程式,則是照下圖的方法,把AP Server裡的JVM Memory加大

如果你Web程式是Deploy到Tomcat的話,記的把Tomccat上的JVM Memory設定也要加大(開啟"Monitor Tomcat",然後照下圖的方法改),不然到時侯Eclipse上可以跑的程式在Production上的Server卻不能跑,這下就很...囧rz...囉

ps.可以點小圖看大圖喔!
ps and ps.這一篇講的東東不知有多少人看的懂呢?...光是JVM應該就已經嚇倒一堆人了吧...Orz