設計模式課時七 單例模式

2021-09-29 17:46:42 字數 1245 閱讀 8200

單體模式的不同變現形式:

1.餓漢單例模式

2.懶漢單例模式

3.多例模式

1.餓漢單例模式

public class singleton 

; // 建立私有靜態例項,意味著這個類第一次使用的時候就會進行建立

private static singleton instance = new singleton();

public static singleton getinstance(

) // 瞎寫乙個靜態方法。這裡想說的是,如果我們只是要呼叫 singleton.getdate(

...),

// 本來是不想要生成 singleton 例項的,不過沒辦法,已經生成了

public static date getdate(string mode)

}

很多人都能說出餓漢模式的缺點,可是我覺得生產過程中,很少碰到這種情況:你定義了乙個單例的類,不需要其實例,可是你卻把乙個或幾個你會用到的靜態方法塞到這個類中。

2.懶漢單例

//雙鎖模式(執行緒安全,效率低下,適合初次啟動載入一次的)

public class singleton 

// 和餓漢模式相比,這邊不需要先例項化出來,注意這裡的 volatile,它是必須的

private static volatile singleton instance = null;

public static singleton getinstance()}

}return instance;

}}

//內部類模式

/**

* 執行緒安全,效率高,並且實現延遲載入

*/class lazy implements serializable

private lazy(

) public static lazy getinstance(

) //防止反序列化獲取多個物件

private object readresolve(

) throws objectstreamexception

}

3.多例模式----雙例

public class many 

public static many getinstance (int whickone)

}

設計模式 七 單例模式

1 介紹 2 餓漢式單例模式 author chenpeng date 2018 7 18 22 22 餓漢式單例模式 載入類的時候就例項化靜態屬性 public class singleton 3 開放的訪問方法 方法沒有同步,效率高 return public static singleton ...

(七)單例模式

單例模式是指的什麼意思?那麼,要實現單例模式,有幾個要點 單例模式的應用場景有哪幾個呢?public class singleton 最後,需要有乙個共有的,靜態方法 這個方法,負責建立唯一的例項,並且返回這個唯一的例項 必須考慮到可能會出現的多執行緒併發訪問安全的問題 就是說,可能會有多個執行緒同...

設計模式 單例模式

單例模式 singleton pattern 是乙個比較簡單的模式,其定義如下 ensure a class has only one instance,and provide a golbal point of acess to it.確保某乙個類只有乙個例項,而且自行例項化並且向整個系統提供這個...