Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Unknown Source)
at java.util.Arrays.copyOf(Unknown Source)
at java.util.ArrayList.grow(Unknown Source)
at java.util.ArrayList.ensureExplicitCapacity(Unknown Source)
at java.util.ArrayList.ensureCapacityInternal(Unknown Source)
at java.util.ArrayList.add(Unknown Source)
at FibonacciHeap.removemax(FibonacciHeap.java:148)
at UseFibonacciHeap.main(UseFibonacciHeap.java:61)
Eclipse的我的Java程序讀取從文件中的字符串,並將其插入到一個數組列表,並做了很多的計算ahead.It的拋出上述異常遇到150多串。我試圖增加虛擬機空間,使用睡眠,但沒有任何作品! 最終目標是在100萬個字符串上運行(並非全部都是唯一的)。java.lang.OutOfMemoryError:使用的ArrayList
編輯:ArrayList中toVisit的
用法:
for (FibonacciNode curr = max_ptr; toVisit.isEmpty() || toVisit.get(0) != curr; curr = curr.right_sibling)
{
toVisit.add(curr);
...
}
VM參數爲類: -Xms1024m -Xmx1524M
可有人指導我這樣做的最佳方式。我可以使用不同的數據結構嗎?謝謝 !!
加你的代碼問題。 Arraylist不應該耗盡內存這麼快,所以它很可能是錯誤在於如何使用您的數組列表 – baseballlover723
顯示您的ecplise vm參數 –
您可以給代碼更多的上下文嗎?什麼是所有變數?他們來自哪裏?我猜想你有一個無限循環的地方。 – baseballlover723