gpt4 book ai didi

java - 我可以清理堆栈跟踪吗?

转载 作者:行者123 更新时间:2023-12-01 17:41:01 26 4
gpt4 key购买 nike

我知道我可以使用 Thread.getAllStackTraces() 获取堆栈跟踪(它返回 Map,但清除不起作用)。当我运行递归方法时,由于堆栈跟踪太大而出现异常,有什么方法可以清除它吗?

最佳答案

导致问题的不是堆栈跟踪,而是堆栈本身。每次调用方法时,信息都会放入堆栈中,以便您返回到调用方法。如果递归得足够多,最终会填满堆栈上的所有空间(受最大大小限制)并且程序停止。堆栈跟踪仅显示您的调用历史记录。您可能正在进行无限递归,并且需要找到一种方法在程序失败之前停止它。要么您的算法存在错误,要么您需要在可用内存范围内找到一种不同的方法来解决该问题。

关于java - 我可以清理堆栈跟踪吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/208306/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com