singleton單例模式

2021-10-23 20:32:02 字數 1421 閱讀 2198

餓漢式單例模式

public

class

singletondemo1

// 對外提供方法獲取物件

public

static singletondemo1 getinstance()

}

懶漢式單例模式

public

class

singletondemo2

// 對外提供方法獲取物件,懶漢式為了防止執行緒高併發產生多個物件需要加鎖

// 同步方法,呼叫效率低

public

static

synchronized singletondemo2 getinstance()

return singleton;

}}

雙重檢驗單例模式

public

class

singletondemo3

//對外提供方法獲取物件

public

static singletondemo3 getinstance()

}}return singleton;

}}

靜態內部類單例模式(完美)

public

class

singletondemo4

implements

serializable

,cloneable

@override

protected object clone()

// 私有化構造方法

private

singletondemo4()

}public

static singletondemo4 getinstance()

/** * 防止反序列化產生多個物件

* @return

*/private object readresolve()

}

列舉單例模式

// 不能實現懶載入,但是執行緒安全,天然防止序列化和反射

public enum singletondemo5

}```防止反序列化產生多個物件新增readresolve()方法

private object readresolve()

防止反射產生多個物件

private

singletondemo4()

}

防止轉殖產生多個物件,重寫clone()方法

@override

protected object clone()

Singleton 單例 模式

singleton 模式的宗旨在於確保某個類只有乙個例項,別且為之提供乙個全域性訪問點。為了防止其他工作人員例項化我們的類,可以為該類建立唯一乙個構造器,並將構造器的可見 設定為私有。值得注意的是,如果我們建立了其他的非私有的構造器,或者根本沒有為該類提 供構造器,那麼其他人員還是能例項化我們的類。...

Singleton 單例 模式

今天看了,單例模式。感覺他的本質就是,控制類例項的個數。特例就是,控制static變數的唯一性,保證各個程式共享著同一例項。乙個例子 package singleton description 這是乙個單例模式的使用demo author kyle goal 實現乙個類僅有乙個例項 singleto...

單例(Singleton)模式

單例模式的特點 singleton模式包含的角色只有乙個,那就是singleton。singleton擁有乙個私有建構函式,確保使用者無法通過new取得singleton的例項。除此之外,該模式中包含乙個靜態私有成員變數instance與靜態公有方法instance。instance方法負責檢驗並例...