1.StackOverflowError是什么错误?又是什么原因引起的呢?
- StackOverflowError 称为
栈内存溢出
。 - 常发生于方法的无限递归调用
(即方法递归没有带上结束递归的条件)
2.请编写一个Java程序产生StackOverflowError
public class StackOverflowErrorDemo {
public static void main(String[] args) {
System.out.println(fibonacci(3));
}
// 斐波那契数列求值
public static int fibonacci(int n) {
// if (n == 1 || n == 2) {
// return 1;
// }
return fibonacci(n - 1) + fibonacci(n - 2);
}
}