x=x+1,x+=1,x++在java中的效率问题

原帖链接

x=x+1最低,因为它的执行过程如下:

  1. 读取右x的地址;

  2. x+1;

  3. 读取左x的地址;

  4. 将右值传给左边的x(编译器并不认为左右x的地址相同).

  x=+1其次,它的执行过程如下:

  1. 读取右x的地址;

  2. x=1;

  3. 将得到的值传给x(因为x的地址已经读出).

  x++最高,它的执行如下:

  1. 读取右x的地址;

  2. x自增1.


我觉得就是出现一次变量则要读一次内存,出现一次=则要一次赋值运算,所以x=x+1;两次读x一次赋值,效率最低。

x+=1;一次读内存一次赋值,效率居中,

x++,一次读内存,并没有赋值,效率最高

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值