0
点赞
收藏
分享

微信扫一扫

Java中关于i++和++i

infgrad 2022-05-01 阅读 30

目 录

Java虚拟机中字节码文件层面的理解

参考:https://www.bilibili.com/video/BV1yE411Z7AP?p=112

如果一条语句中除++外,没有其他运算符时。

不论i++还是++i,都仅执行iinc,也就是说仅在i对应的槽位上自增1,而不对i进行入栈操作iload_。

如果一条语句中除++外,有其他运算符时(例如> = == +等)。

  1. i++是先执行iload_入栈操作,将槽位上的i值入栈,然后将槽位上的i执行innc;
  2. 而++i先执行innc,将槽位上的i加1,然后将加1后的i执行iload_入栈。
举报

相关推荐

0 条评论