jvm递归底层逻辑
2022-08-22 本文已影响0人
微点
pubilc int m( int n){
if( n==1) return 1;
return n* m( n-1);
}
m(3)
this,n,局部变量
将3压栈,进入方法,将1压栈,比较是否为1,弹出1,3,进入return,将3压栈,将1压栈,3-1,3*2
将2压栈,与1比较,弹出,将2与1压栈,相减,m(1),将1压栈,与1比较,相等,返回1,即3*2=6。
pubilc int m( int n){
if( n==1) return 1;
return n* m( n-1);
}
m(3)
this,n,局部变量
将3压栈,进入方法,将1压栈,比较是否为1,弹出1,3,进入return,将3压栈,将1压栈,3-1,3*2
将2压栈,与1比较,弹出,将2与1压栈,相减,m(1),将1压栈,与1比较,相等,返回1,即3*2=6。