方法调用栈主要用来表现此刻方法的调用关系。调用栈首先调用的方法是main方法,然后按main方法中其他函数的顺序依次调用。Java中的栈和栈帧都是JVM管理的内存的某个名称。
注意:
1.局部变量保存在栈帧中,方法的每次调用,都有一个唯一的栈帧,在方法执行结束后,栈帧结束,JVM将方法执行中用到的栈帧收回。
2.局部变量的生命周期开始于该局部变量所在方法的执行(JVM为方法分配栈帧),结束于该方法的 “}” 位置。
3.方法的每一次调用,JVM都会为本次调用提供不同的栈帧。(对调用同一方法也适用)
- 实例:
从下面代码中可以看到,main方法执行后,执行a(),进入a()后,执行b(),之后进入b(),执行d(),最后进入d()执行打印语句;以此类推,依次执行,直至所有方法调用完成。
具体调用如下:
<