最近我遇到了一些内存问题,我几天都试图解决这个问题,但遗憾的是没有运气!
我正在运行Mac OS X 10.6.8 / 8GB RAM(不应该出现任何分配问题!)
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
我还尝试在Eclipse中为我的VM参数添加“-Xmx1536m”,但没有任何运气!
提前致谢。
答案 0 :(得分:1)
当您进行无限递归调用时,StackOverflowError是一个常见错误,例如:
void method(int a) {
method(a);
}
这种调用会导致StackOverflowError。
因此,如果您有这种类型的无限递归调用或者可能是无限循环,那么您应该检查代码。
答案 1 :(得分:0)
在Eclipse中 右键单击项目,按照以下步骤操作:
默认情况下,堆栈内存大小为512 KB。我们可以根据需要增加。
如果有任何查询,请在评论部分中恢复评论。