設計模式 常用單例模式實現

2021-10-08 03:25:28 字數 869 閱讀 6306

什麼是單例模式?

首先看看定義:保證乙個類只有乙個例項,並且提供乙個全域性的訪問點

​ 在需要的時候再建立類的例項化。

class

lazysingleton

public

static lazysingleton getintance()

}}return instance;

}}

缺點:執行緒不安全。為什麼這麼說呢,因為就好比美國**選舉,一群人進行選舉出來了乙個**;但是這時候有一些人不服氣,就又進行了一次選舉(川普成功競選);現在就出現了兩個**,必然出現分歧。所以加入判斷

instance == null
當進行選舉的時候,其他選舉活動是無法執行的。但是對於乙個程式而言的話,那麼效率是非常低下。所以加入雙重鎖判定的方式。

​ 在類載入階段就完成了例項的初始化。通過類載入機制,來保證我們的執行緒安全。

class

hungrysingleton

public

static hungrysingleton getintance()

}

3.靜態內部類

4.反射模式

5.列舉型別

6.序列化

7.jdk原始碼

在spring中,bean可以被定義為兩種模式:prototype(多例)和singleton(單例)

singleton(單例):只有乙個共享的例項存在,所有對這個bean的請求都會返回這個唯一的例項。

prototype(多例):對這個bean的每次請求都會建立乙個新的bean例項,類似於new。

spring bean 預設是單例模式。

常用設計模式 單例模式

1.單例模式的特點 1.單例類在系統中僅有乙個例項 2.單例類必須自己建立自己的例項 3.單例類必須向系統中的其他物件提供這個例項 2.單例模式的兩種模式 public class test 2.1 餓漢模式 public class singleton 建立類的唯一例項 private stati...

常用設計模式 單例模式

一 單例模式定義 單例模式確保某個類只有乙個例項,而且自行例項化並向整個系統提供這個例項。在計算機系統中,執行緒池 快取 日誌物件 對話方塊 印表機 顯示卡的驅動程式物件常被設計成單例。這些應用都或多或少具有資源管理器的功能。每台計算機可以有若干個印表機,但只能有乙個printer spooler,...

常用設計模式 單例模式

應用執行過程當中,只有乙個物件的模式,叫做單例模式 1.構造器私有 2.提供可以獲得物件的靜態方法 3.將物件設定為靜態 懶漢模式 用的時候再建立 餓漢模式 載入的時候就建立 public class singleton 構造器私有,無法在外部例項化這個物件 外部一千一萬個物件也都只能是對perso...