jvm栈 - 栈帧调试bug

目录

 

jvm栈

栈中数据为什么先进后出?

idea-debug查看栈帧调用顺序 


jvm栈

 - 每个线程都有自己独立的栈,先进后出(俗称压栈)

 - 结构:局部变量、方法(栈帧)

栈中数据为什么先进后出?

看以下案例中,最后调用执行的bb()方法,在执行完后就没用了可以销毁,所以后进的方法先出栈。

jvm栈 - 栈帧调试bug_第1张图片     jvm栈 - 栈帧调试bug_第2张图片

idea-debug查看栈帧调用顺序 

jvm栈 - 栈帧调试bug_第3张图片

先进后出(压栈)

方法调用顺序:main() >> aa() >> bb()

jvm栈 - 栈帧调试bug_第4张图片

后进先出(出栈)

bb()方法调用完成后,bb()栈帧出栈。

jvm栈 - 栈帧调试bug_第5张图片

你可能感兴趣的:(JVM,idea)