作者:叨B叨B叨叨叨 | 来源:互联网 | 2023-05-18 04:04
这篇文章主要介绍了关于递归出现栈溢出stackoverflow的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
目录
- 递归出现栈溢出stackoverflow
- 递归调用中栈溢出原因
递归出现栈溢出stackoverflow
递归是个不断回调方法的过程,使方法一遍遍的压入栈中,递归次数多了,栈满了也就溢出了。默认的栈大小是1m。我也没有很好的解决办法,就加大栈内存吧!
我这里就说下eclipse中测试类怎么改栈内存大小。
右键测试类–》properties–》
这样就行了
递归调用中栈溢出原因
那么过多的递归调用为什么会引起栈溢出呢?
事实上,函数调用的参数是通过栈空间来传递的,在调用过程中会占用线程的栈资源。
而递归调用,只有走到最后的结束点后函数才能依次退出,而未到达最后的结束点之前,占用的栈空间一直没有释放,如果递归调用次数过多,就可能导致占用的栈资源超过线程的最大值,从而导致栈溢出,导致程序的异常退出。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。