Java 內存模型(JMM)主要通過 禁止指令重排序 和 建立 happens-before 規則 來保證有序性,核心手段包括 volatile 關鍵字、synchronized 關鍵字和 final 關鍵字等。 一、有序性問題的根源 有序性問題的根源是 CPU 指令重排序。為了優化性能,CPU 會在不影響單線程執行結果的前提下,調整指令的執行順序。例如: