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");
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/94347.html