StackOverflowError в Eclipse при выполнении кода Java - PullRequest
2 голосов
/ 06 января 2012

В последнее время я столкнулся с некоторыми проблемами с памятью, которые я пытался решить пастой несколько дней, но, к сожалению, безуспешно!

Я использую Mac OS X 10.6.8 / 8 ГБ ОЗУ (проблем с выделением не должно быть!)

Версия Eclipse - Helios.

java -version
java version "1.6.0_29"
Java(TM) SE Runtime Environment (build 1.6.0_29-b11-402-10M3527)
Java HotSpot(TM) 64-Bit Server VM (build 20.4-b02-402, mixed mode)

Моя исключительная ситуация Java:

Exception in thread "main" java.lang.StackOverflowError

И мой eclipse.ini:

-startup
../../../plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar
--launcher.library
../../../plugins/org.eclipse.equinox.launcher.cocoa.macosx.x86_64_1.1.0.v20100503
-product
org.eclipse.epp.package.java.product
--launcher.defaultAction
openFile
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
1G
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-XstartOnFirstThread
-Dorg.eclipse.swt.internal.carbon.smallFonts
-Xms256m
-Xmx512m
-XX:PermSize=1024m
-XX:MaxPermSize=1024M
-Xdock:icon=../Resources/Eclipse.icns
-XstartOnFirstThread
-Dorg.eclipse.swt.internal.carbon.smallFonts

Я также пытался добавить "-Xmx1536m" к аргументам своей виртуальной машины в Eclipse, но безуспешно!

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 06 января 2012

StackOverflowError является распространенной ошибкой, когда у вас есть бесконечный рекурсивный вызов, такой как:

void method(int a) {
    method(a);
}

такого рода вызовы приведут к StackOverflowError.

Так что вы должны проверить свой кодесли у вас есть этот тип бесконечных рекурсивных вызовов или, возможно, бесконечный цикл.

0 голосов
/ 22 июля 2017

в затмении Щелкните правой кнопкой мыши по проекту и выполните следующие действия:

  • Run
  • Запустить конфигурации
  • нажмите на вкладку JRE
  • В разделе аргументов ВМ напишите ниже параметры -Xss

По умолчанию размер стека составляет 512 КБ. Мы можем увеличить согласно нашей потребности.

  • Нажмите на кнопку «Применить и запустить проект».

Если в случае какого-либо запроса, отменить комментарий в разделах комментариев.

...