目的 「volatileって何?」という質問があり、自分の理解も曖昧だったので復習してみた。 勉強内容 volatileって? 何の意味があるの? コンパイラの最適化(置き換え)を抑止する コンパイラの最適化(リオーダー)を抑止する スレッドが値を参照する際に、必ず最新の値を見るようにする volatileって? 修飾子です。次のようにフィールドに対して付けます。 public class Hoge { public volatile int num; } 何の意味があるの? ぼくは次のように理解していますが、まだ自信はありません。 コンパイラの最適化(置き換え)を抑止する コンパイラの最適化(リオーダー)を抑止する スレッドが値を参照する際に、必ず最新の値を見るようにする Javaでは3つ目の説明ばかり見るのですが、これは結果として他のも対応されるからなのかな? まだよく分かっていません