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)
파일에서 문자열을 읽고 배열 목록에 삽입하고 계산의 ahead.It을 많이하고있다 이클립스에 내 자바 프로그램에서 위의 예외를 throw
150 + 문자열이 발생했습니다. 나는 수면을 사용하여 VM 공간을 늘리려고했지만 아무것도 작동하지 않습니다! 궁극적 인 목표는 1 백만 개의 문자열을 조작하는 것입니다 (모두 고유하지는 않음).java.lang.OutOfMemoryError와 : 사용 ArrayLists
편집 : ArrayList의 toVisit의
사용법 : 클래스
for (FibonacciNode curr = max_ptr; toVisit.isEmpty() || toVisit.get(0) != curr; curr = curr.right_sibling)
{
toVisit.add(curr);
...
}
VM 인수 : 이 -Xms1024M -Xmx1524M
누군가가이 일을하는 최적의 방법으로 나를 인도 할 수 있습니다. 사용할 수있는 다른 데이터 구조가 있습니까? 감사 !!
추가 질문에 대한 귀하의 코드. Arraylist는 빨리 메모리를 다 써 버려서는 안됩니다. 오류는 arraylist를 사용하는 방법에 있습니다. – baseballlover723
ecplise VM 인수를 표시하십시오. –
코드에 더 많은 컨텍스트를 부여 할 수 있습니까? 모든 변수는 무엇입니까? 그들은 어디에서 왔니? 어딘가에 무한 루프가 있다고 나는 짐작할 수있다. – baseballlover723