具有高嵌套级别的Java递归

具有高嵌套级别的Java递归,java,recursion,scala,Java,Recursion,Scala,我正在用Java编写一个函数,它必须多次递归地调用自己(在~10000范围内)。在达到某个递归级别(~3250atm)后,Java线程将保持并必须重新启动。这不受jvm启动时使用的RAM数量的影响(目前为2GB) 如何影响jvm可以处理的最大嵌套级别?按此顺序,请尝试: 更改算法(您应该能够使用堆栈和循环) 使用尾部递归(即:更改您的语言,支持尾部递归) 将-Xss1m参数传递给JVM以增加堆栈大小1m表示1个MiB 另见 按此顺序,请尝试: 更改算法(您应该能够使用堆栈和循环) 使用尾部递

我正在用Java编写一个函数,它必须多次递归地调用自己(在~10000范围内)。在达到某个递归级别(~3250atm)后,Java线程将保持并必须重新启动。这不受jvm启动时使用的RAM数量的影响(目前为2GB)

如何影响jvm可以处理的最大嵌套级别?

按此顺序,请尝试:

  • 更改算法(您应该能够使用堆栈和循环)

  • 使用尾部递归(即:更改您的语言,支持尾部递归)

  • -Xss1m
    参数传递给JVM以增加堆栈大小<代码>1m表示1个MiB

  • 另见
    按此顺序,请尝试:

  • 更改算法(您应该能够使用堆栈和循环)

  • 使用尾部递归(即:更改您的语言,支持尾部递归)

  • -Xss1m
    参数传递给JVM以增加堆栈大小<代码>1m表示1个MiB

  • 另见

    非常感谢。增加堆栈大小就行了,因为其他两个选项不适用于atm。非常感谢。增加堆栈大小就成功了,因为其他两个选项不适用于atm。