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