單例模式的幾種實現方法,具體如下:
1. 懶漢模式
2. 餓漢模式
3. 雙重檢查
4. 靜態內部類 目前這個比較好
5. 用快取實現
6. 列舉模式
懶漢模式
public class singleton
public static singleton getinstance()
return instance;}}
優點可以延遲載入
缺點多執行緒不安全
餓漢模式
public class singleton
public static singleton getinstance()}優點
多執行緒安全
缺點載入類時就初始化完成,無法延時載入
雙重檢查
public class singleton
public static singleton getinstance()}}
return instance;}}
優點多執行緒安全
延遲載入
缺點同步耗時
靜態內部類
public class singleton
public static singleton getinstance()
private static class singletonholder }優點
多執行緒安全
延遲載入
耗時短(與雙重檢查相比)
用快取實現
public class singleton
public static singleton getinstance() else
return singleton;}}
優點執行緒安全
缺點占用記憶體較大
列舉模式
public enum singleton }優點
簡潔缺點
占用記憶體大(android官方不推薦使用列舉)
Java實現設計模式之單例模式
1.單例模式 singleton 保證乙個類僅有乙個例項,並提供乙個訪問它的全域性訪問點。2.通常,我們可以讓乙個全域性變數使得乙個物件被訪問,但它不能防止你例項化多個物件,乙個最好的辦法就是,讓類自身負責儲存它的唯一例項。這個類可以保證沒有其他例項可以被建立,而且它可以提供乙個訪問該例項的方法。3...
java單例設計模式的實現
package com.lhs 單例設計模式 餓漢式 public class single 3,提供乙個方法可以獲取到該物件 public static single getinstance 懶漢式 package com.lhs 單例設計模式 懶漢式 public class single1 p...
Java設計模式 單例模式
單例模式 singleton 顧名思義,就是乙個類只有乙個例項。作為物件的建立模式,單例模式確保某乙個類只有乙個例項,而且自行例項化並向整個系統提供這個例項。這個類稱為單例類。顯然單例模式的要點有三個 一是某個類只能有乙個例項 二是它必須自行建立這個例項 三是它必須自行向整個系統提供這個例項。從具體...