所谓Stack Overflow就是栈里面放的东西太多了,溢出了。
大家知道栈里面存放的是基本数据类型还有引用类型。
下面看这个程序
- class Test
- {
- public static void main(String[] args)
- {
- String[] str={"a","b"};
- Test.main(str);
- }
- }
这个方法的形参是一个数组,传入的实参是一个名叫str的数组,这个str作为数组的引用当然要放在栈里面。
相信大家一下就能看出这个一个没有终点的循环调用,可以想象,栈里面会有数不清的str引用,当超过了栈存储上限了,就报错喽~
本文通过一个无限递归调用的例子解释了StackOverflow错误的原因。详细介绍了栈中存储的内容以及当存储超出上限时会发生的情况。
1138

被折叠的 条评论
为什么被折叠?



