gpt4 book ai didi

java - Java 编译器是否优化数组索引查找?

转载 作者:行者123 更新时间:2023-11-29 03:32:07 27 4
gpt4 key购买 nike

        for (int i = 0; i < array.length; ++i) {
do something referencing array[i]
do something referencing array[i]
....
}

在这样的代码中,设置像 currentValue = array[i] 这样的变量然后引用它而不是 array[i] 真的有用吗?我觉得编译器会足够聪明,可以做类似的事情并使此类代码变得毫无意义。

最佳答案

如果您阅读编译器生成的字节码,您会发现它没有进行此类优化。这意味着在解释模式下每次都会进行数组查找。如果带有循环的方法运行了足够多的次数,JIT 编译器将再次检查它并可能优化它。

结论:如果你想要可预测的结果,将数组元素存储在局部变量中。更重要的是,这样代码也变得更具可读性。

关于java - Java 编译器是否优化数组索引查找?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17664075/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com