java调用栈的最大深度是多少?

新手上路,请多包涵

在收到 StackOverflowError 之前,我需要进入调用堆栈多深?答题平台依赖吗?

原文由 ripper234 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 532
2 个回答

这取决于分配给堆栈的虚拟内存量。

http://www.odi.ch/weblog/posting.php?posting=411

您可以使用 -Xss VM 参数或使用 Thread(ThreadGroup, Runnable, String, long) 构造函数对其进行调整。

原文由 finnw 发布,翻译遵循 CC BY-SA 2.5 许可协议

我在我的系统上测试并没有发现任何常量值,有时在 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();
    }

}

原文由 troy 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏