volatile和final为什么不能同时修饰一个字段?

原因

volatile 是保证变量被写时其结果其他线程可见,final 已经让该变量不能被再次写了。

如果你说 final 一个对象,改对象内部字段值,那也不是 volatile 的语义所适用的范围。

volatile

volatile是一个特征修饰符(type specifier).volatile的作用是作为指令关键字,确保本条指

令不会因编译器的优化而省略,且要求每次直接读值。 volatile的变量是说这变量可能会被

意想不到地改变,这样,编译器就不会去假设这个变量的值了。

posted @ 2022-05-15 00:03  10114  阅读(283)  评论(0编辑  收藏  举报