java - 在 Java 中声明方法参数 final 是否有任何性能原因?

标签 java performance final

在 Java 中声明方法参数 final 是否有任何性能原因?

如:

public void foo(int bar) { ... }

对比:

public void foo(final int bar) { ... }

假设 barfoo() 中只被读取而从未被修改。

最佳答案

final 关键字不会出现在局部变量和参数的类文件中,因此不会影响运行时性能。它的唯一用途是澄清编码人员不更改变量的意图(许多人认为其使用的可疑原因),并处理匿名内部类。

关于方法本身的 final 修饰符是否有任何性能提升存在很多争论,因为无论如何优化编译器都会在运行时内联这些方法,而不管修饰符是什么。在这种情况下,它也应该只用于限制方法的覆盖。

关于java - 在 Java 中声明方法参数 final 是否有任何性能原因?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/266806/

相关文章:

java - 多个包的 JAXB 命名空间前缀配置?

loops - For循环或While循环-效率

performance - CentOS 中的 NIC/网络性能调整

python - 用 numpy 进行矢量化基数排序——它能打败 np.sort 吗?

c# - 如何为 Java、C# 和 C++ 中的一个项目的不同实现管理一份一致的文档?

java - php检查数据库中两个字段是否存在,使用JSON

java - 通过反射检索的对象的同步

java - 为什么阴影会影响 `final` 行为?

java - 直接赋final变量和在构造函数中赋final变量有区别吗?

android - 在 Eclipse 中调试 Android 应用程序时,无法在匿名类中看到最终变量内容