Eclipse - java.lang.OutOfMemoryError: пространство кучи Java
В Eclipse IDE, если ваша программа потребляет много памяти (загружает большие данные), вот так:
Listlist = domainBo.findAllDomain(100000); for(Domain domain : list){ process(domain.getDomainName()); }
Он может легко попасть вjava.lang.OutOfMemoryError: Java heap space:
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. Решение - аргументы ВМ
В меню Eclipse щелкнитеRun -> Run Configurations.., выберите приложение Java, которое вы хотите запустить, щелкните вкладкуArguments, обновите аргументы виртуальной машины следующими параметрами
-Xms- Set initial Java heap size -Xmx - Set maximum Java heap size
Например,-Xms512M -Xmx1024M

2. Ошибка - eclipse.ini
Параметры памяти вeclipse.ini выделены только для Eclipse IDE, а не для программы, которую вы хотите запустить. Очень распространенной ошибкой является обновление размера кучи вeclipse.ini, и ожидается, что она решит указанную выше проблему нехватки памяти.
Note
Приложение Java, сценарии сборки Ant / Maven или примеры модульных тестов запускаются как внешний инструмент из Eclipse и не наследуют настройки виртуальной машины в eclipse.ini.
Но если ваша Eclipse IDE всегда выходит из строя без причины, вы можете попробовать увеличить размер кучи и perm gen вeclipse.ini.
/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.