1. 什么是递归:
函数自身调用自身。
**2.递归的内存模型: **
//计算斐波那契数列第n项的结果
public int fb(int n) {
if(n == 1 || n == 2) {
return 1;
}
return fb(n - 1) + fb( n - 2);
}
分析
3. 递归的优缺点:
优点:分治理念的体现,可以把非常复杂的问题,简单解决。
缺点:递归次数过多是非常耗费内存的,当栈被全部占用后,会触发StackOverflowError异常!!!
可以使用java -X -Xss 大小, 来调整JVM的栈大小空间
-Xms<大小> 设置初始 Java 堆大小
-Xmx<大小> 设置最大 Java 堆大小