單例模式model

2021-10-09 21:23:25 字數 1477 閱讀 3491

直接例項化餓漢式(簡潔直觀)

/**

* 餓漢式

* 直接建立例項物件,不管你是否需要這個物件

* * (1)構造器私有化

* (2)自行建立,並且用靜態變數儲存

* (3)向外提供這個例項

* (4)強調這是乙個單例,並用final修飾

*/public

class

singleton1

}

列舉式(最簡潔)
/**

* 列舉型別:表示該型別的物件是有限的幾個

* 我們可以限定為乙個,就成了單例

*/public

enum singleton2

靜態**塊餓漢式(適合複雜例項化)

public

class

singleton3

private

singleton3()

}

執行緒不安全(適用於單執行緒)

/**

* 懶漢式:

* 延遲建立這個例項物件

* (1)構造器私有化

* (2)用乙個靜態變數儲存這個唯一的例項

* (3)提供乙個靜態方法,獲取這個例項物件

*/public

class

singleton4

public

static singleton4 getinstance()

return instance;

}}

執行緒安全(適用於多執行緒):加鎖

/**

* 懶漢式:

* 延遲建立這個例項物件

* (1)構造器私有化

* (2)用乙個靜態變數儲存這個唯一的例項

* (3)提供乙個靜態方法,獲取這個例項物件

*/public

class

singleton5

public

static singleton5 getinstance()

return instance;}}

}

靜態內部類形式(適用於多執行緒)
/**

* 在內部類被載入和初始化時,才建立instance例項物件

* 靜態內部類不會自動隨著外部類的載入和初始化而初始化,它是要單獨去載入和初始化的。

* 因為是在內部類載入和初始化時,建立的,因此是執行緒安全的

*/public

class

singleton6

private

static

class

inner

public

static singleton6 getinstance()

}

TP5單例模式操作Model

tp5單例模式的 實現 為什麼要使用單例模式 使用單例模式實現邏輯處理與資料庫操作分離能很大提公升mysql的sql處理能力,並且易於維護 articlemodel.php use think model class articlemodel extends model 單例 public stat...

單例模式 單例模式

餓漢式 急切例項化 public class eagersingleton 2.宣告靜態成員變數並賦初始值 類初始化的時候靜態變數就被載入,因此叫做餓漢式 public static eagersingleton eagersingleton new eagersingleton 3.對外暴露公共的...

單例 單例模式

簡單的實現乙個單例 instancetype sharedinstance return instance 真正的單例模式 myclass sharedinstance return instance id allocwithzone nszone zone return nil id copywi...