Eclipse - java.lang.OutOfMemoryError: Java-Heapspeicher
In der Eclipse-IDE, wenn Ihr Programm viel Speicher verbraucht (Laden großer Datenmengen), gehen Sie wie folgt vor:
Listlist = domainBo.findAllDomain(100000); for(Domain domain : list){ process(domain.getDomainName()); }
Es kann leichtjava.lang.OutOfMemoryError: Java heap space
treffen:
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space at java.util.HashMap.(HashMap.java:209) at java.util.LinkedHashMap. (LinkedHashMap.java:181)
1. Lösung - VM-Argumente
Klicken Sie im Eclipse-Menü aufRun -> Run Configurations..
, wählen Sie die Java-Anwendung aus, die Sie ausführen möchten, klicken Sie auf die RegisterkarteArguments
und aktualisieren Sie die VM-Argumente mit den folgenden Optionen
-Xms- Set initial Java heap size -Xmx - Set maximum Java heap size
Zum Beispiel-Xms512M -Xmx1024M
2. Fehler - eclipse.ini
Die Speichereinstellungen ineclipse.ini
werden nur der Eclipse-IDE zugewiesen, nicht dem Programm, das Sie ausführen möchten. Ein sehr häufiger Fehler ist die Aktualisierung der Heap-Größe ineclipse.ini
und erwartet, dass das oben genannte Problem mit zu wenig Speicher behoben wird.
Note
Die Java-Anwendung, Ant / Maven-Build-Skripte oder Unit-Testfälle werden als externes Tool von Eclipse ausgeführt und erben die VM-Einstellungen in eclipse.ini nicht.
Wenn Ihre Eclipse-IDE jedoch immer ohne Grund abstürzt, können Sie versuchen, die Heap-Größe und die Dauer ineclipse.ini
zu erhöhen.
/Users/example/Downloads/eclipse/Eclipse.app/Contents/MacOS/eclipse.ini
-startu openFile -showsplash //... -XX:MaxPermSize=512m -Xms512m -Xmx1024m //... -Xdock:icon=../Resources/Eclipse.icns -XstartOnFirstThread
P.S eclipse.ini is located in the Eclipse installation folder.