递归结束后如何清除堆栈?

时间:2017-04-28 15:04:07

标签: java recursion stack stack-overflow

因为由于过于递归而导致堆栈溢出问题,所以我尝试使用while循环来解决它。 但即使在溢出之前退出递归并重新进入递归仍会导致溢出,如何在退出后清除包含递归的堆栈的已分配内存?

2 个答案:

答案 0 :(得分:0)

我不确定..但你可以尝试 - System.runFinalization();要么 System.runFinalizersOnExit();

答案 1 :(得分:0)

当你的应用程序关闭堆栈时应该清除你的递归仍然可能太深。使用递归时请仔细检查代码,确保递归方法结束。 如果您的递归方法确实结束,您可以增加堆栈大小,但我不建议这样做。相反,你应该问问你自己的方法。

但是如果你想增加堆栈大小,请检查以下链接: some other reason