栈是数据结构(Stack),
特点: 入口和出口只有一个
操作就两个: 入栈和出栈 所有的操作都从栈顶出去
执行特色: 先进后出
出栈顺序 入栈顺序
入栈
Java执行方法的时候
A方法先入栈, 此时A方法调用了B方法,所以B方法也要入栈,在A方法的上面
如果来了C方法,此时C方法入栈,在B方法的上面,最后栈从上到下就是CBA的顺序.
Java顺序执行的ABC三个方法, 此时栈里面就是 CBA的顺序
出栈
C方法先出栈,因为C方法在最上面,然后B方法才能出栈,最后A方法才能出栈
为什么要jvm要用栈?
因为可以很好的兼容方法调用方法的特点, 假如A调用B,B调用C, 然后C在最上面,C就先执行完, 执行完了才开始执行B,然后执行A.
结果就是A方法最先开始,A方法最后结束, B方法最先开始B方法最后结束.