关于i++和++i最清楚的解释

内容分享10小时前发布
0 0 0

https://blog.csdn.net/c15158032319/article/details/78209740

关于i++和++i最清楚的解释

       0: iconst_0
       1: istore_1
       2: iload_1
       3: iinc          1, 1
       6: istore_1

字节码解释:
想象一个左右有两个栈,左边是局部变量表,右边是操作数栈。
iconst_0
将常量0压入右边的操作数栈,如下图所示

关于i++和++i最清楚的解释

istore_1
弹出操作数栈栈顶的元素赋值给i,也就是把0赋值给i(i在左边局部变量表里,下标为1,下标为0的是this)

iload_1:
将左边局部变量表的i压入操作数栈

iinc 1, 1
左边局部变量表里下标为1的值,也就是i,加1

istore_1
弹出操作数栈栈顶的元素赋值给i,也就是把0赋值给i

© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
none
暂无评论...