在方法中将变量声明为final是否会从最新java版本的性能/内存观点中获益?
我不是在谈论任何其他好处。
这个问题Does use of final keyword in Java improve the performance? 大约在7年前被添加,自那时以来取得了一些进展。
答案 0 :(得分:3)
不,本地变量上的final
关键字没有性能影响,即使在理论上它也不可能,因为.class
文件不保留此信息。
有关详细信息,请参阅this answer。
答案 1 :(得分:1)
final
关键字对性能没有直接影响,但在某些用例中可以提高性能。
示例:强>
final
,则JIT不会检查是否有任何可能更改列表值的原因(reference)。final
允许将变量内联到调用代码中,这样可能会导致一些内存和性能提升。如果类(reference)中有许多公共静态最终字符串,则使用此方法。final
关键字可提高效果。不仅JVM可以缓存最终变量,而且应用程序可以经常缓存使用最终变量(check here for 3 and 4)。final
关键字允许JVM优化方法,变量或类。