好记性不如烂笔头。

合理使用密封类提高性能


合理使用密封类提高性能
在类设计中,如果此类不希望被继承,可以加上sealed修饰为密封类,这样的好处有2个
1、版本控制
如果类最初是密封的,将来可在不破坏兼容性的前提下更改为非密封。但如果最初非密封,将来就不可能更改为密封,因为这将中断派生类。另外,如果非密封类定义了非密封虚方法,必须在新版本的类中保持虚方法的调用顺序,否则可能中断派生类。

2、性能
调用虚方法在性能上不及调用非虚方法,如果类型为密封的,是不会有派生类的,那么JIT可采用非虚方式调用虚方法,不然如果不是密封的,类中的方法被子类重写或者不重写,JIT都是使用虚方式来调用虚方法,所以性能没有非虚方式高

所以,合理使用密封类,会改变JIT的编译方式,从而改变性能。