《深入理解java虚拟机》之字节码执行引擎

本文深入探讨了Java虚拟机的字节码执行引擎,详细解析了其工作原理,包括如何读取、解析字节码,并执行指令,以实现程序的运行。通过对JVM内部机制的了解,有助于提升Java程序的优化能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

执行引擎:  解释执行
            编译执行

栈帧:     局部变量表       以变量槽slot为最小单位
                            第0位索引的slot默认为this
                            slot可以重用

            操作栈         Code属性中max_stacks设置了最大深度
                            后入先出

            动态连接        在运行期间将符号引用转为直接引用,与静态解析相对

            返回地址        正常完成出口(pc计数器值)
                            异常完成出口(由异常处理器表决定)

方法调用:   解析(目标方法在Class文件中是常量池符号引用,在类加载解析阶段
                一部分符号引用转化为直接引用)

            分派      静态分派(重载)            

                        动态分派(重写:invokevirtul指令运行期间将常量池
                        目标方法符号引用解析到不同的直接引用上。
                        动态分派实现:方法区中虚方法表,存放各个方法入口地址)     

指令集:    基于栈     可移植
                        不需要考虑空间分配
                        速度慢
            基于寄存器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值