1.什么是方法递归?
方法自身调用
a(){ a(); }
2.递归是很耗费内存的,递归算法可以不用的时候尽量别用。
3.以下程序运行的时候发生了这样一个错误【不是异常,是错误Error】:
jang.lang.StackOverflowError
栈内存溢出错误。
错误发生无法返回,只有一个结果,就是JVM停止工作
4.递归即使有了结束条件,即使结束条件是正确的,也可能会发生栈内存溢出错误,因为递归的太深了。
【注意:递归可以不使用尽量别用。但是有些情况下该功能的实现必须依靠递归方式】
public class RecursionTest01{ //主方法 public static void main(String[] args){ System.out.println("main begin"); //调用dosome方法 dosome(); System.out.println("main over"); } //以下代码片段虽然只有一份 //但是可以被重复的调用,并且只要调用dosome方法就会在栈内存中新分配一块所属的内存空间。 public static void dosome(){ System.out.println("dosome begin"); dosome();//这段代码不结束,下一行程序时不能执行的 System.out.println("dosome over"); } }