1.被final修改类。
不能被继承(extends)
2.被final修饰方法。
不能被重写(@Override)
3.被final修饰成员变量。
3.1在编译时,就写入常量池
3.2多线程防止指令重排(比如,final成员变量在构造方法中赋值,不会在构造方法外被访问到。)
final做变量跟GC的关系
这次写博客我主要是想分析另外一个最佳实践,这种最佳实践是在各种源码框架中进行应用的。
1.被final修改类。
不能被继承(extends)
2.被final修饰方法。
不能被重写(@Override)
3.被final修饰成员变量。
3.1在编译时,就写入常量池
3.2多线程防止指令重排(比如,final成员变量在构造方法中赋值,不会在构造方法外被访问到。)
final做变量跟GC的关系
这次写博客我主要是想分析另外一个最佳实践,这种最佳实践是在各种源码框架中进行应用的。