在阅读Jack Shirazi的“Java性能调整”时,我遇到了以下声明:

“实例和静态变量在以下情况下的运行速度可能会降低多达一个数量级:
与方法参数和局部变量相比。”

这仍然适用于Java 6/7吗?如果是的话,其背后的原因是什么? (他解释了有关使用特殊字节码来访问局部变量/参数的内容,但我不理解)。

最佳答案

这里的关键词可以是。问题在于,局部变量和参数(本质上是局部变量)可能位于寄存器中,而实例变量和静态变量最终将最终存储在内存中(它们将在对其进行操作所需的时间进入寄存器,但最终会返回到他们去的内存中)。

10-05 17:54
查看更多