首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

【JVM】字节码解读<clinit>

2012-10-13 
【JVM】字节码解读clinitJava代码:详细解读:第一步将int型值0推送至栈顶第二步把栈顶值0赋值给常量池索引

【JVM】字节码解读<clinit>
Java代码:



详细解读:
第一步将int型值0推送至栈顶第二步把栈顶值0赋值给常量池索引位置为10的静态field第三步将int型值0推送至栈顶第四步将栈顶int型数值存入第一个本地变量第五步无条件跳转到20,进行条件判断,是否执行for循环 第二十步将第一个int型本地变量推送至栈顶  第二十一步将单字节的常量值(-128~127)100推送至栈顶第二十二步比较栈顶两int型数值大小,当结果小于等于0时跳转,跳转到第九步-----------第二十二步满足条件继续执行第九步获取Test类的常量池索引位置为10静态域值,并将其值压入栈顶第十二步将第一个int型本地变量推送至栈顶 第十三步将栈顶两int型数值相加并将结果压入栈顶第十四步把栈顶值赋值给常量池索引位置为10的静态field第十七步递增第一个局部变量值...循环------------for循环结束------------------------------------ 第十二步方法调用结束
1 楼 freish 2011-04-26   <clinit>字节码也是通过javap生成的吗?

热点排行