从字节码指令分析i=i++(i是int类型时)
2016-08-01 16:46
190 查看
先放出代码和编译后的指令集和
分析指令集和:
iload_1 将本地变量表的中1 slot的变量值压人栈顶;//此时战中的‘i’为1
iinc 1,1 本地变量表中的1 solt位置的变量加1 //本地变量表里的i为2
istore_1 将栈顶元素弹出存入1 slot位置 //将栈顶的i赋值到本地变量表中的i,2被覆盖
public void iAdd(int i) { i = i++; }
分析指令集和:
iload_1 将本地变量表的中1 slot的变量值压人栈顶;//此时战中的‘i’为1
iinc 1,1 本地变量表中的1 solt位置的变量加1 //本地变量表里的i为2
istore_1 将栈顶元素弹出存入1 slot位置 //将栈顶的i赋值到本地变量表中的i,2被覆盖
相关文章推荐
- 从字节码指令分析i=i++(i是long类型时)
- 为什么操作int 类型的指令要快于操作short 的,却可能慢于操作char 的
- c语言中的 int (*p)[5] 类型分析
- int的一点事,读《深入C#内存管理来分析值类型&引用类型,装箱&拆箱,堆栈几个概念组合之间的区别》
- 从字节码角度分析Byte类型变量b++和++b
- Linux内核:基于int指令的经典系统调用过程分析
- js表格排序实例分析(支持int,float,date,string四种数据类型)
- c语言 int (*p)[5] 类型分析
- int类型范围分析
- OpenGL ES 片元着色器中 int 类型精度不匹配的问题分析
- 交换两个int类型数值(总结分析,理解记忆)
- 将int字段改为decimal类型后出现1264 Out of range value的问题分析和处理之二
- 从字节码角度分析泛型类,泛型方法,泛型接口的实现机制(类型擦除)
- 从字节码角度分析Byte类型变量b++和++b
- JVM字节码指令 及 反编译分析
- int的一点事,读《深入C#内存管理来分析值类型&引用类型,装箱&拆箱,堆栈几个概念组合之间的区别》
- js表格排序实例分析(支持int,float,date,string四种数据类型)
- SQL SERVER大话存储结构(1)_数据页类型及页面指令分析
- 将int字段改为decimal类型时出现1264 Out of range value的问题分析和处理
- 传说中的"int?"--使用可空类型