在爲亂序中提到的例子寫的雙重檢查鎖定的情況(參考: IBM article & Wikipedia Article) 我無法理解的原因很簡單爲什麼Thread1在構造函數完全初始化之前會出現同步塊。根據我的理解,創建「new」和調用構造函數應該按順序執行,同步鎖不應該被釋放,直到所有工作都沒有完成。 請讓我知道我在這裏失蹤。
從頭部首先設計模式的書,以雙重檢查鎖定Singleton模式已經被如下實施: public class Singleton {
private volatile static Singleton instance;
private Singleton() {}
public static Singleton getInstance() {
if (inst