1、虚拟机栈概述
设置虚拟机栈大小:
2、栈的存储单位
3、局部变量表
this 不能用于静态方法,因为this变量不存在于当前方法的局部变量表中!!
4、操作数栈
操作数栈:Operand stack
栈:可使用数组或链表来实现
5、代码追踪
“iinc”操作码是直接把局部变量数组的“3”处的值增加1,而不是操作数栈栈顶的数增加1。
“istore 4”是把栈顶的数存在局部变量表“4”中。
6、栈顶缓存技术
栈顶缓存技术:Top-of-Stack Cashing
寄存器:指令更少,执行速度快
7、动态链接
8、方法的调用:解析与分派
普通调用指令:
动态调用指令:
9、方法返回地址
10、一些附加信息
11、栈的相关面试题