文章目录
- 1. 问题引出
- 2. 分析问题
-
- 2.1 为什么递归调用会导致堆栈溢出
- 2.2 数组太大或分配内存多于可用内存导致堆栈异常
- 3. 优化避免栈溢出
-
- 3.1 尾递归优化
- 3.2 循环替代递归
1. 问题引出
今天在编码时,出现了java.lang.StackOverflowError,就感觉很莫名其妙。
由于源代码涉及到公司业务,暂无法公开到博客上,望读者见谅。
但为了复现StackOverflowError的错误,我特地编写如下代码来模拟:
/**
* 使用junit注解来调用testDegression方法
*
* @author super先生
* @datetime 2023/2/15 20:41
*/
@Test
public void testStackOverFlow() {
testDegression

发布评论