先吐槽一下,這是誰起的名字,別說,還挺難聽。
餓漢式1-2:靜態常量和靜態**塊
優點:這種寫法比較簡單,就是在類裝載的時候就完成例項化,避免了執行緒同步問題。
缺點:在類裝載的時候就完成例項化,如果未使用過這個例項,會造成記憶體的浪費。
public class singleton
public static singleton getinstance()
}
public class singleton
private singleton() {}
public static singleton getinstance()
}
public class singleton
public static singleton getinstance()
return singleton;
}}
public class singleton
public static synchronized singleton getinstance()
return singleton;
}}
public class singleton
public static singleton getinstance()
}return singleton;
}}
6.雙重檢查
public class singleton
public static singleton getinstance() }}
return singleton;
}}
7.靜態內部類
public class singleton
private static class singletoninstance
public static singleton getinstance()
}
8.列舉(這個簡單,推薦使用)
public enum singleton
}
八種單例設計模式
1.靜態常量 2.靜態 塊 1.執行緒安全 2.執行緒不安全 同步方法 3.執行緒不安全 同步 塊 單例設計模式就是在整個系統中或者程式中只有乙個該物件的應用例項。例如 public class single public static single getinstance 2 靜態 塊 步驟 1....
設計模式 單例模式的八種寫法總結
單例 概念 乙個類只能產生乙個例項化物件。單例的特點 構造方法私有化,外部無法通過構造方法建立物件,只能通過該類提供的可見靜態方法得到該類物件。單例模式的8種寫法 1,餓漢式 靜態常量 可用 class singleton 獲得該例項的方法,必須是可見的靜態方法 public static sing...
單例模式的八種寫法
單例模式是最常用到的設計模式之一,熟悉設計模式的朋友對單例模式都不會陌生。一般介紹單例模式的書籍都會提到餓漢式和懶漢式這兩種實現方式。但是除了這兩種方式,本文還會介紹其他幾種實現單例的方式,讓我們來一起看看吧。單例模式是一種常用的軟體設計模式,其定義是單例物件的類只能允許乙個例項存在。許多時候整個系...