2011-06-02 111 views
0

我創建了一個大小約爲3000的自定義類對象的ArrayList(Java)。 但是,當我運行我的代碼時,它會收到錯誤「堆空間錯誤」。創建大量對象的ArrayList時Java堆空間錯誤?

我想在運行時將數千個對象保留在ArrayList中,而不會超出堆空間。

如何避免堆空間錯誤?

+2

通過在啓動虛擬機時指定-Xmx參數來增加你的堆。 – clamp 2011-06-02 09:42:31

+1

可能的重複[如何處理「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

回答

4

看來你需要傳遞你的程序更多的內存。

嘗試這樣運行它:

java -Xmx256M MyApp 

-Xmx設置最大堆大小爲Java。之後放置M表示兆字節,而後面的G表示千兆字節。所以如果你有一堆內存,你總是可以這樣做:

java -Xmx1g MyApp 
2

使用-Xmx Java系統屬性增加Java堆大小。例如,給它作爲

java -Xmx1024m Main