Java 效率++;我对我++;在爪哇 我最近读到,C++ +i比其对应的i++更有效,因为第一个(++i)做增量,返回递增的值,而后者(i++)创建值的副本,返回它并执行增量。
Java 效率++;我对我++;在爪哇 我最近读到,C++ +i比其对应的i++更有效,因为第一个(++i)做增量,返回递增的值,而后者(i++)创建值的副本,返回它并执行增量。,java,performance,Java,Performance,Java中也会发生同样的情况吗?这两种操作都不是由多个步骤组成的原子操作。与C++不同,这些运算符不能重载。因此,Java在性能方面没有差别 在x++和++x之间,您应该注意的唯一区别是x++在递增之前返回值。和++x做同样的事情,但是在增加之后 这提供了一个字节码示例。“效率更高”是有争议的。在大多数情况下,编译器会将它们优化为相同的机器代码(当结果未被使用时)。因为后缀和前缀表达式在Java中的工作方式相同,所以它的行为可能是相同的。无论性能有什么不同,它都不会超过纳秒,所以你不应该太在意,
Java中也会发生同样的情况吗?这两种操作都不是由多个步骤组成的原子操作。与C++不同,这些运算符不能重载。因此,Java在性能方面没有差别 在
x++
和++x
之间,您应该注意的唯一区别是x++
在递增之前返回值。和++x
做同样的事情,但是在增加之后
这提供了一个字节码示例。“效率更高”是有争议的。在大多数情况下,编译器会将它们优化为相同的机器代码(当结果未被使用时)。因为后缀和前缀表达式在Java中的工作方式相同,所以它的行为可能是相同的。无论性能有什么不同,它都不会超过纳秒,所以你不应该太在意,但其中一个答案似乎暗示字节码有差异。看看这个答案:最好告诉我们在哪里以及为什么要这样做您试图保存性能。怀疑
i++
和++i
能解决任何问题。而是考虑Java中更高的抽象。如果您关心这种低级性能,那么您选择了错误的语言。Java的性能没有差别。@TimBiegeleisen,你的答案是C#,我认为它不是完全有用的here@RaulLuna我所指的答案是Java。这在这里是完全有用的。