执行引擎: 解释执行
编译执行
栈帧: 局部变量表 以变量槽slot为最小单位
第0位索引的slot默认为this
slot可以重用
操作栈 Code属性中max_stacks设置了最大深度
后入先出
动态连接 在运行期间将符号引用转为直接引用,与静态解析相对
返回地址 正常完成出口(pc计数器值)
异常完成出口(由异常处理器表决定)
方法调用: 解析(目标方法在Class文件中是常量池符号引用,在类加载解析阶段
一部分符号引用转化为直接引用)
分派 静态分派(重载)
动态分派(重写:invokevirtul指令运行期间将常量池
目标方法符号引用解析到不同的直接引用上。
动态分派实现:方法区中虚方法表,存放各个方法入口地址)
指令集: 基于栈 可移植
不需要考虑空间分配
速度慢
基于寄存器
《深入理解java虚拟机》之字节码执行引擎
最新推荐文章于 2024-05-09 21:05:10 发布
本文深入探讨了Java虚拟机的字节码执行引擎,详细解析了其工作原理,包括如何读取、解析字节码,并执行指令,以实现程序的运行。通过对JVM内部机制的了解,有助于提升Java程序的优化能力。

1543

被折叠的 条评论
为什么被折叠?



