單例模式之餓漢式和懶漢式詳細講解

2021-10-09 05:58:50 字數 1131 閱讀 2777

餓漢式和懶漢式的比較

設計模式是在大量的實踐中總結和理論化之後優選的**結構,程式設計風格,以及解決問題的思考方式。就像經典的棋譜,不同的棋局,我們用不同的棋譜,「 套路 」。

採取一定的方法保證在整個軟體系統中,對某個類只能存在乙個物件例項,並且該類只提供乙個取得其物件例項的方法。

單例模式之餓漢式

public

class

singletontest1

}class

bank

//2.建立類的私有化物件(相當於類的屬性)

//4.靜態方法中無法使用非靜態結構,所以需要用static修飾

private

static bank instance =

newbank()

;//3.建立get方法返回類物件

/*getinstance 必須定義成 static 靜態方法,

因為getinstance 是用來建立物件的方法,不執行此方法就沒有物件

沒有物件可以去呼叫此方法,就無法獲得物件,陷入乙個死胡同中

只能通過靜態方法 類.方法來呼叫getinstance 讓它去建立物件

*/public

static bank getinstance()

}

單例模式之懶漢式
public

class

singletontest2

}class

order

//2.宣告類物件,不對其進行初始化

private

static order instance = null;

//3.建立getinstance方法返回物件

public

static order getinstance()

return instance;

}}

餓漢式一上來就把物件建立出來,不管你用不用,反正我給你建立了,比較餓。

懶漢式是你用我才建立,你不用我不建立,比較懶。

餓漢式 :

​ 優點:執行緒安全的

​ 缺點:載入時間過長

懶漢式 :

​ 優點:延遲物件的建立

​ 缺點:執行緒不安全的

單例模式之餓漢式和懶漢式

單例模式是什麼 單例模式,是一種常用的軟體設計模式。在它的核心結構中只包含乙個被稱為單例的特殊類。通過單例模式可以保證系統中,應用該模式的類乙個類只有乙個例項。即乙個類只有乙個物件例項 餓漢式的 實現 public class singleton 返回物件例項 public static singl...

單例模式之餓漢式和懶漢式

餓漢式 在定義變數的同時完成賦值 class singleinstance 第三步 建立乙個靜態的公共的方法,將單例類物件提供出去 public static singleinstance getinstance 功能區 一般建立的是非靜態的成員實現功能 建立成員變數 建立成員方法 懶漢式 clas...

單例模式之懶漢式和餓漢式

什麼是單例模式?單例 模式就是在 jvm中乙個 物件只能 有乙個例項。單例模式有七種寫法,常見的單例模式有兩種 懶漢式 餓漢式 什麼是懶漢式?就是需要的才會去例項化,執行緒不安全。什麼是餓漢式?就是當class檔案被載入的時候就已經初始化,天生執行緒安全。懶漢式寫法 保證這個類在jvm中只有乙個例項...