synchronized都拼錯了,你怎么運行的。
在你的代碼中,你只是說不用volatile關(guān)鍵字修飾變量singleton,但是創(chuàng)建對象的過程你加鎖了呀,這怎么可能會出現(xiàn) singleton == null 的情況呢,還有你的代碼只有代碼1、2,代碼3在哪呢?
很明顯這就不是你自己寫的
Java volatile如何防止指令重排序voliate關(guān)鍵字的兩個作用 1、 保證變量的可見性:當一個被volatile關(guān)鍵字修飾的變量被一個線程修改的時候,其他線程可以立刻得到修改之后的結(jié)果。當一個線程向被vol...