介绍
介绍JVM字节码执行引擎。
一、字节码执行引擎

二、运行时栈帧结构

三、局部变量表

问题:long和double在32位操作系统是不是原子操作?
因为slot存放的是32位内的数据类型,在多线程情况下分高低位赋值和更新,不是原子性操作。
四、操作数栈

五、方法返回地址

六、方法调用

动态链接
静态链接
符号引用 —> 直接引用
非虚方法
- invokestatic:静态方法
- invokespecial:构造函数
- invokevirtual:虚函数调用
虚方法
需要我们在执行阶段确定需要执行的版本。
七、虚拟机动态分派机制

虚方法表
一般是在类加载的阶段进行初始化。