原因
volatile
是保证变量被写时其结果其他线程可见,final
已经让该变量不能被再次写了。
如果你说 final
一个对象,改对象内部字段值,那也不是 volatile
的语义所适用的范围。
volatile
volatile是一个特征修饰符(type specifier).volatile的作用是作为指令关键字,确保本条指
令不会因编译器的优化而省略,且要求每次直接读值。 volatile的变量是说这变量可能会被
意想不到地改变,这样,编译器就不会去假设这个变量的值了。