20. 不要只替换一个类
我们经常在系统中定义一个常量接口(或常量类),以囊括系统中所涉及的常量,从而简化代码,方便开发,在很多开源项目中已采用类似方法。
对于final修饰的基本类型和String类型,编译器会认为它是稳定态(Immutable Status),所以在编译时直接把值编译到字节码中了,避免在运行期引用(Run-time Reference),以提高代码的执行效率。而对于final修饰的类(即非基本类型),编译器认为它是不稳定态(Mutable Status),在编译时建立的则是引用关系(该类型也叫Soft Final)即使不重新编译也会输出最新值。
注意:发布应用系统时禁止使用类文件替换方式,整体WAR包发布才是完全之策。