1、被final修饰的类不能被继承;
2、被final修饰的变量不能被改变,如果修饰引用,表示引用不可变,但是引用的指向的内容可以改变;
3、被final修饰的方法不能被重写;
4、被final修饰的常量,在编译阶段会存进常量池中;
编译器对final域要遵守的两个重排序规则更好:
1、在构造函数内对一个final域的写入,与随后把这个被构造对象的引用赋值给一个引用变量,这两个操作之间不能重排序
2、初次读一个包含final域的对象的引用,与随后初次读这个final域,这两个操作之间不能重排序