为什么将类定义为 final 可以提高 JVM 性能?
引用自 http://sites.google.com/site/gson/gson-design-document:
为什么Gson中的大多数课程都标记为最终课程?
虽然 Gson 通过提供可插拔的序列化程序和解串器提供了相当可扩展的体系结构,但 Gson 类并不是专门设计为可扩展的。提供非最终类将允许用户合法地扩展 Gson 类,然后期望该行为在所有后续修订版中都有效。我们选择通过将类标记为最终来限制此类用例,并等待一个好的用例出现以允许可扩展性。将类标记为最终类还有一个小好处,即为 Java 编译器和虚拟机提供了额外的优化机会。
为什么会这样?[如果我猜:JVM知道类是最终的,它不维护方法覆盖表?还有其他原因吗?
性能有什么好处?
这是否适用于频率实例化的类(POJO?)还是适用于持有者静态方法的类(实用程序类)?
定义为最终的方法理论上也可以提高性能吗?
有什么影响吗?
谢谢你,马克西姆。