46 lines
1.1 KiB
Java
46 lines
1.1 KiB
Java
package com.inmind.digui02;
|
|
/*
|
|
9.递归的概念
|
|
|
|
递归:一个方法直接或者间接调用字节
|
|
直接调用:A->A->A->A->A
|
|
间接调用:A->B->A->B
|
|
|
|
递归代码必须要有结束条件,如果没有结束条件,那么一定会栈内存溢出错误
|
|
|
|
扩展:
|
|
1.内存溢出:内存空间总共有4G,但是我们要开辟超出4G的空间,内存溢出
|
|
2.内存泄漏:一个对象已经不再使用了,但是它还占用着内存,无法释放
|
|
*/
|
|
public class Demo08 {
|
|
static int count = 0;
|
|
public static void main(String[] args) {
|
|
method1();
|
|
System.out.println("程序结束");
|
|
}
|
|
|
|
private static void method1() {
|
|
System.out.println(count);
|
|
count++;
|
|
if (count > 16000) {
|
|
return;
|
|
}
|
|
method2();
|
|
}
|
|
|
|
private static void method2() {
|
|
method1();
|
|
}
|
|
|
|
//直接调用:A->A->A->A->A
|
|
public static void methodA(){
|
|
System.out.println(count);
|
|
count++;
|
|
if (count > 20000) {
|
|
//提前结束当前方法
|
|
return;
|
|
}
|
|
methodA();
|
|
}
|
|
}
|