(四)優缺點分析
(五)總結
餓漢式(靜態常量)餓漢式(靜態**塊)懶漢式(執行緒不安全)
懶漢式(執行緒安全,同步方法)
懶漢式(執行緒安全,同步**塊)
雙重檢查靜態內部類列舉構造器私有化(防止new再獲取物件)
類的內部建立物件
向外暴露乙個靜態的公共方法,getinstance,這個唯一的方法用來獲取物件例項
class
singleton01
//2-本類內部建立物件例項(構造器不能用,那我自己內部new乙個物件,給外界呼叫)
private
final
static singleton01 instance=
newsingleton01()
;//3-提供乙個公有的靜態方法,返回例項物件
public
static singleton01 getinstance()
}
public
class
singletontest01
}
寫法簡單,獲取類的時候,類會在內部自動建立好乙個物件例項,而使用者直接呼叫getinstance這個方法就可以獲取到乙個物件例項。
優點也可能會成為它的缺點,類一旦載入就會建立例項化物件,不存在lazy loading(懶載入),如果你壓根沒用到這個物件,那麼這個物件就會一直占用記憶體,造成記憶體的浪費。
這種單例模式可以用,但是要考慮一點,它可能會造成記憶體浪費
設計模式1 單例模式
文章引用出處 singleton模式是最簡單最常用的設計模式。1,定義 確保某個類只有乙個例項,而且自行例項化並向整個系統提供這個該類。2,單例模式優點 1 單例模式在記憶體中只有乙個例項,減少了記憶體的開支。2 單例模式只生成乙個例項模式,減少了系統效能的開銷。如當乙個物件的產生需要比較多的系統資...
設計模式1 單例模式
單例模式,利用工廠類只生產乙個例項或者有限個例項,比如乙個系統中只有乙個主機板,乙個顯示卡,但是有些系統中也可以存在多個,雙顯示卡,雙顯示器等等。這些在singleton module中都是可以定義的。當然我們也可以使用全域性的變數或者靜態類或者物件去做,但是單例模式的存在是有其優點的。public...
設計模式1 單例模式
保證乙個類只有乙個例項 即乙個物件,並且提供乙個訪問該例項的全域性訪問點 即類中有乙個公共的方法 方法的返回該類的物件。1.windows的任務管理器 無論開啟多少次都只能開啟乙個視窗 2.windows的 站 3.專案中的配置檔案 4.的計數器 5.日誌 6.連線池 8.spring的bean 預...