violate

1、做用java

一、保證內存可見性程序員

二、防止指令重排多線程

此外需注意volatile並不保證操做的原子性。jvm

指令重排序是JVM爲了優化指令,提升程序運行效率,在不影響單線程程序執行結果的前提下,儘量地提升並行度。編譯器、處理器也遵循這樣一個目標。注意是單線程。多線程的狀況下指令重排序就會給程序員帶來問題。優化

java文件被編譯成爲了.class文件的時候,其實就是轉化爲了一堆的jvm指令。線程

相關文章
相關標籤/搜索