i++ 和++i区别, 底层原理

一笔一划,按照自己理解画的图,原创;转载请备注

   a = ++i,相当于 i=i+1; a = i;

   a = i++,相当于 a = i; i=i+1;

i++ 和++i底层原理:

IDEA开发工具,字节码相关截图

i++ 和++i区别, 底层原理_第1张图片

 bipush    将单字节的常量值(-128~127)推送至栈顶 

 istore:       将栈顶int型数值存入指定本地变量

 iload  :       将指定的int型本地变量推送至栈顶

 iinc  :       将指定int型变量增加指定值(i++, i--, i+=2)

i++ 和++i区别, 底层原理_第2张图片

i++ 和++i区别, 底层原理_第3张图片

你可能感兴趣的:(Java,jvm,操作栈,本地变量表,java)