算术赋值运算符为什么更有效率?

14 浏览
0 Comments

算术赋值运算符为什么更有效率?

这个问题已经有了答案:

Java中a += 10和a = a + 10之间的区别是什么? [重复]

Java中使用int a=a+1和a++之间的性能差异

Java算术运算符的一种缩写示例是a += 4;对应于a=a+4;

在《Java 2 全面参考》中,赫伯特·施尔夫特(Herbert Schildt)提到“它们的等效项相比,Java运行时系统实现得更高效”

是什么使得它的实现比a=a+4;更高效?

admin 更改状态以发布 2023年5月24日
0
0 Comments

对于 a += 4javac 可以生成 IIC 指令,它可以通过常量增加本地变量。在理论上,它比 IADD 更有效率。\n\nIADD 从堆栈弹出两个值,然后将结果推回堆栈。\nIIC 在堆栈上什么也不做,但会增加本地变量。\n\n因此,如果您正在使用非常有限和基本的 JVM,例如您可能在 Java 卡 上使用,这就很重要了,但在 99.9% 的情况下并不需要。Java、JVM 和大多数其他虚拟机已经走了很长的路。\n\n顺便问一下,您使用的是哪个版本的书?亚马逊 上提到将在 2014 年推出第 9 版。如果这行文字仍然在书中,我会感到惊讶。

0
0 Comments

只有微基准测试能在任何特定的执行环境下确定或拒绝作者的声明。

在现代JVM上,很可能两个版本将展现相同的性能。

P.S. 如果书名中的“2”是指“Java 2”,我强烈建议获取一本更现代化的书!

0