说说java栈溢出那些事儿

版权声明:转载请注明出处 http://blog.csdn.net/yezhongdefeng https://blog.csdn.net/YeZhongDeFeng/article/details/82155152

今天写了一个bug导致出现了栈溢出,出现栈溢出的根本原因是出现了无限次的递归,递归嵌套的层次太多,方法进栈次数太多,导致栈区不足出现StackOverFlow,写代码以来第一次出现这种bug,幸亏自己之前对这方面有了解,解决的还算及时,同时这个bug也让我体会到,写代码真的是要处处小心,其实当时写的时候,我就已经意识到,某段代码处可能会出现无数次迭代的情况,但是考虑到程序应该会正常运行,正常情况下应该不会出现此问题,所以自己也就懈怠了,没有想太多,结果今天测试的时候,竟然还真出现了。在今天出现的程序中,其实出现栈溢出是因为项目出现了不正常的数据,导致方法的条件永远不能满足,一直在进行递归调用,幸亏程序的错误提示,提示的比较清晰,让我立马定位到了相关代码,今天的bug又让我想到了,编程领域那个亘谷不变的真理,写代码不能只考虑正常的情况,更多的应该是对错误情况的处理,的确,往往程序都是这样的,正常运行的时候,好像感觉也没什么,但一旦出错,如果定位不到错误代码,往往会消耗更多的精力,所以,请珍爱生命,远离bug。

猜你喜欢

转载自blog.csdn.net/YeZhongDeFeng/article/details/82155152
今日推荐