Possible Duplicate:
Why defining class as final improves JVM performance?
我的项目中有以下课程:
public final class LinkNode
{
public int value;
public LinkNode next;
public LinkNode(int value, LinkNode next)
{
this.value = value;
this.next = next;
}
public LinkNode(int value)
{
this(value, null);
}
}
LinkNode
的地方。final
时,代码的运行速度明显加快。这是为什么?最佳答案
我发现,当我使课程最终定稿时,代码的运行速度明显加快。这是为什么?
我认为这是因为基准测试方法存在缺陷。
假设您使用的是最新的Hotspot JRE,那么JIT编译器足够聪明,以至于类上的final
修饰符不会对性能产生影响...除非您在应用程序中实际使用了该类的子类。
如果需要确认,请发布方法的详细信息,包括基准代码和基准结果。