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)
Mein Java-Programm auf Eclipse-Strings aus einer Datei zu lesen und sie zu einer Array-Liste eingefügt und viele Berechnungen ahead.It tat die oben genannten Ausnahmen wirft Ich habe versucht, den VM-Raum zu vergrößern, benutze den Schlaf, aber nichts funktioniert! Das letztendliche Ziel ist es, mit 1 Million Strings zu arbeiten (nicht alle einzigartig).java.lang.OutOfMemoryError: Java Heap-Speicher zur Verwendung von Arraylists
Edits:
Verwendung der Arraylist toVisit:
for (FibonacciNode curr = max_ptr; toVisit.isEmpty() || toVisit.get(0) != curr; curr = curr.right_sibling)
{
toVisit.add(curr);
...
}
VM Argumente für die Klasse: -Xms1024M -Xmx1524M
mich jemand auf eine optimale Art und Weise, dies zu tun führen kann. Gibt es eine andere Datenstruktur, die ich verwenden kann? Vielen Dank !!
add Dein Code zu der Frage. Arraylist sollte nicht schnell genug aus dem Speicher gehen, so ist es sehr wahrscheinlich, dass der Fehler darin besteht, wie Sie Ihre Arraylist verwenden – baseballlover723
zeigen Sie Ihre ecplise vm Argumente –
können Sie etwas mehr Kontext zum Code geben? Was sind alle Variablen? woher kommen sie? Ich nehme an, dass du irgendwo eine Endlosschleife hast. – baseballlover723