当前位置 : 主页 > 编程语言 > java >

递归出现栈溢出stackoverflow的问题及解决

来源:互联网 收集:自由互联 发布时间:2023-01-30
目录 递归出现栈溢出stackoverflow 递归调用中栈溢出原因 递归出现栈溢出stackoverflow 递归是个不断回调方法的过程,使方法一遍遍的压入栈中,递归次数多了,栈满了也就溢出了。默认的
目录
  • 递归出现栈溢出stackoverflow
  • 递归调用中栈溢出原因

递归出现栈溢出stackoverflow

递归是个不断回调方法的过程,使方法一遍遍的压入栈中,递归次数多了,栈满了也就溢出了。默认的栈大小是1m。我也没有很好的解决办法,就加大栈内存吧!

我这里就说下eclipse中测试类怎么改栈内存大小。

右键测试类–》properties–》

这样就行了

递归调用中栈溢出原因

那么过多的递归调用为什么会引起栈溢出呢?

事实上,函数调用的参数是通过栈空间来传递的,在调用过程中会占用线程的栈资源。

而递归调用,只有走到最后的结束点后函数才能依次退出,而未到达最后的结束点之前,占用的栈空间一直没有释放,如果递归调用次数过多,就可能导致占用的栈资源超过线程的最大值,从而导致栈溢出,导致程序的异常退出。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持自由互联。

上一篇:java中的HashMap多层嵌套
下一篇:没有了
网友评论