【发布时间】:2012-08-21 09:19:47
【问题描述】:
我在一些示例 BlackBerry Java 类中看到了如下代码:
try
{
// stuff that will throw an exception
}
catch(final Exception e)
{
// deal with it
}
我认为final 是为了性能。根据标题,由于很少(曾经?)有任何理由修改已被抛出的 Exception,它们是否应该始终为 final?
如果是这样,这不是编译器可以完成的吗?还是由编译器完成并手动添加final 完全没有影响?
【问题讨论】:
-
没有任何特别的理由使用,也没有不使用
final。性能是不可能的。 -
Java 7 异常变量语义的完整细节:docs.oracle.com/javase/7/docs/technotes/guides/language/…
-
我唯一能想到的就是避免意外重新分配异常,因为在这种情况下您将丢失所有堆栈跟踪。
标签: java performance exception final