設計模式筆記 05 單例模式

2021-10-05 09:16:19 字數 1246 閱讀 4628

package com.maom.design.d_05_singleton;

/** * @title: d_05_singleton

* @description: 05_單例模式

* @author maohb

* @version 1.0

*/public

class

d_05_singleton

}/** 餓漢式 */

class

person

public

void

setname

(string name)

//建構函式私有化

private

person()

//提供乙個全域性的靜態方法

public

static person getperson()

}/** 懶漢式 */

class

person2

public

void

setname

(string name)

//建構函式私有化

private

person2()

//提供乙個全域性的靜態方法

public

static person2 getperson()

return person;}}

/** 同步鎖 */

class

person3

public

void

setname

(string name)

//建構函式私有化

private

person3()

//提供乙個全域性的靜態方法,使用同步方法

public

static

synchronized person3 getperson()

return person;}}

/** 雙重檢查 */

class

person4

public

void

setname

(string name)

//建構函式私有化

private

person4()

//提供乙個全域性的靜態方法

public

static person4 getperson()

}}return person;

}}

設計模式05 單例模式

單例模式是一種物件建立型模式,使用單例模式,可以保證為乙個類只生成唯一的例項物件。也就是說,在整個程式空間中,該類只存在乙個例項物件。其實,gof對單例模式的定義是 保證乙個類 只有乙個例項存在,同時提供能對該例項加以訪問的全域性訪問方法。在應用系統開發中,我們常常有以下需求 在多個執行緒之間,比如...

設計模式05 單例模式

在程式執行期間確保某個類只有乙個物件 tip 非常餓,所以要快速建立 public class hungrysingle public static hungrysingle getinstance 優點 執行緒安全,容易實現,沒有加鎖,執行效率高 缺點 浪費記憶體,不能從外部傳入引數 tip 這裡...

設計模式筆記 單例模式

單例模式在系統開發時很常見,乙個系統中可能會有多個單例模式的運用!它比全域性變數的好處?1.能控制生成時間,保證初始化順序?2.容易保證執行緒安全 全域性變數需要多執行緒client單獨控制併發,單例在類實現中已經做到,無需client再處理 3.減少函式模組之間的耦合,減少命名衝突,便於管理?可能...