我創建了一個大小約爲3000的自定義類對象的ArrayList(Java)。 但是,當我運行我的代碼時,它會收到錯誤「堆空間錯誤」。創建大量對象的ArrayList時Java堆空間錯誤?
我想在運行時將數千個對象保留在ArrayList中,而不會超出堆空間。
如何避免堆空間錯誤?
我創建了一個大小約爲3000的自定義類對象的ArrayList(Java)。 但是,當我運行我的代碼時,它會收到錯誤「堆空間錯誤」。創建大量對象的ArrayList時Java堆空間錯誤?
我想在運行時將數千個對象保留在ArrayList中,而不會超出堆空間。
如何避免堆空間錯誤?
看來你需要傳遞你的程序更多的內存。
嘗試這樣運行它:
java -Xmx256M MyApp
-Xmx
設置最大堆大小爲Java。之後放置M表示兆字節,而後面的G表示千兆字節。所以如果你有一堆內存,你總是可以這樣做:
java -Xmx1g MyApp
使用-Xmx
Java系統屬性增加Java堆大小。例如,給它作爲
java -Xmx1024m Main
通過在啓動虛擬機時指定-Xmx參數來增加你的堆。 – clamp 2011-06-02 09:42:31
可能的重複[如何處理「java.lang.OutOfMemoryError:Java堆空間」錯誤(64MB堆大小)](http://stackoverflow.com/questions/37335/how-to-deal-with-java-琅的OutOfMemoryError-java的堆空間誤差-64MB堆-S) – x4u 2011-06-02 09:48:19