java – 后增量和增量前运算符之间的性能差异?

前端之家收集整理的这篇文章主要介绍了java – 后增量和增量前运算符之间的性能差异?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
Java中,使用后增量与预增量运算符会产生任何性能影响吗?

例:

i++

++i

解决方法

性能问题仅在功能行为相同的上下文中才有意义(因为,​​如果功能不同,正确的行为优于稍微快一点的行为),所以我假设你指的是一种情况哪里没有使用表达式的值?也就是说,表达式的唯一目的是增加i?在这种情况下,答案是否定的:没有性能差异,事实上,没有任何区别.我刚刚编译了这个类:
public class Foo
{
    public static void main(final String args[])
    {
        int i = Integer.parseInt(args[0]);
        i++;
    }
}

并计算得到的Foo.class的MD5校验和;并且,类似于i的版本.它们具有相同的校验和,表明这两个版本被编译成完全相同的字节码,因此在字面上完全相同.

(当然,从理论上讲,这可能取决于编译器.不同的编译器可能会决定以不同的方式编译i,即使在它们相同的上下文中也是如此.但我对此表示怀疑,即使它真的不值得担心案子.)

猜你在找的Java相关文章