我正在运行一个我在 Eclipse 中用 Java 编写的程序。对于非常大的输入,该程序具有非常深的递归级别。对于较小的输入,程序运行良好,但是当输入较大时,我收到以下错误:
Exception in thread "main" java.lang.StackOverflowError
这可以通过增加 Java 堆栈大小来解决吗?如果可以,我该如何在 Eclipse 中做到这一点?
更新:
@乔恩斯基特
代码递归地遍历解析树以构建数据结构。因此,例如,代码将使用解析树中的一个节点做一些工作,并在该节点的两个子节点上调用自身,组合它们的结果以给出树的整体结果。
递归的总深度取决于解析树的大小,但是当递归调用的数量达到 1000 时,代码似乎会失败(没有更大的堆栈)。
此外,我很确定代码不会因为错误而失败,因为它适用于小输入。