jvm爲了使得處理器內部的運算單元能儘量被充分利用,
處理器可能會對輸入代碼進行亂序執行(Out-Of-Order Execution)優化,處理器會在計算之後將亂序執行的結果重組,保證該結果與順序執行的結果是一致的,但並不保證程序中各個語句計算的先後順序與輸入代碼中的順序一致,因此,如果存在一個計算任務依賴另外一個計算任務的中間結果,那麼其順序性並不能靠代碼的先後順序來保證
摘自:《深入理解Java虛擬機:JVM高級特性與最佳實踐》 — 周志明
jvm爲了使得處理器內部的運算單元能儘量被充分利用,
處理器可能會對輸入代碼進行亂序執行(Out-Of-Order Execution)優化,處理器會在計算之後將亂序執行的結果重組,保證該結果與順序執行的結果是一致的,但並不保證程序中各個語句計算的先後順序與輸入代碼中的順序一致,因此,如果存在一個計算任務依賴另外一個計算任務的中間結果,那麼其順序性並不能靠代碼的先後順序來保證
摘自:《深入理解Java虛擬機:JVM高級特性與最佳實踐》 — 周志明