是否有任何性能原因需要在Java中将方法参数声明为final?
如:
public void foo(int bar) { ... }
与:
public void foo(final int bar) { ... }
假设bar
只能在中读取而不进行修改foo()
。
我想不出为什么编译器会在意是否将方法参数声明为final的原因。但是,此问题的真正答案是-编写两个函数,一个具有最终参数,一个具有常规参数。每次运行它们一百万次,看看是否存在明显的运行时差异。如果您担心性能,对代码进行一些性能分析工作并找出导致速度下降的确切原因非常重要。几乎可以肯定,这不是您所期望的:)
—
Mike Blandford
我建议您不要写微观基准。您不知道JIT可以进行哪种优化以及何时进行优化,而您可能只是通过执行“简单测试用例”就
—
误解
可能是这样,但是这里没有人写过或建议过一个微基准测试
—
Kip
@Mike Blandford的答案表明使用微基准不是吗?
—
本·佩奇
用Java编写微基准测试非常棘手
—
Edmondo1984