java调用堆栈的最大深度是多少?在得到StackOverflowError之前,我需要多深入调用堆栈?答案平台是否依赖?
3 回答
慕桂英4014372
TA贡献1871条经验 获得超13个赞
我在我的系统上测试并没有找到任何常量值,有时在8900次调用后发生堆栈溢出,有时仅在7700之后,随机数。
public class MainClass { private static long depth=0L; public static void main(String[] args){ deep(); } private static void deep(){ System.err.println(++depth); deep(); }}
呼啦一阵风
TA贡献1802条经验 获得超6个赞
可以使用-Xss
命令行开关设置堆栈大小,但根据经验,它足够深,数百甚至数千个调用深度。(默认值取决于平台,但在大多数平台上至少为256k。)
如果堆栈溢出,99%的时间是由代码中的错误引起的。
添加回答
举报
0/150
提交
取消