package com.kaka.test;
/**** 單例使用場景 需要頻繁的進行建立和銷毀的物件;
* **建立物件時耗時過多或耗費資源過多,但又經常用到的物件;
* **工具類物件頻繁訪問資料庫或檔案的物件。
* * @author kaka**/
public class singleton
public static singleton getsingleton()
public static void main(string args)
// 餓漢式(靜態常量)
private static singleton instance;
static
// private singleton(){}
public static singleton getinstance()
// 懶漢式(靜態**塊)
private static singleton instance1;
static
// private singleton() {}
public static singleton getinstance1()
// 懶漢式(執行緒不安全)
private static singleton singleton2;
// private singleton() {}
public static singleton getsingleton2()
return singleton2;
}// 懶漢式(執行緒安全,同步方法)
private static singleton singleton04;
// private singleton() {}
public static synchronized singleton getinstance()
return singleton04;
}// 懶漢式(執行緒安全,同步**塊) 特點:效率低
private static singleton instance05;
// private singleton() {}
public static singleton getinstance05()
}return instance05;
}// 第6種 雙重檢查(推薦使用)
private static volatile singleton singleton06;
// private singleton() {}
public static singleton getsingleton06() }}
// 執行緒安全,延遲載入,效率高
return singleton06;
}// 靜態內部類(推薦使用)
// private singleton() {}
@suppresswarnings("unused")
private static class singletoninstance
// 列舉型(推薦使用) jdk1.5
// 優勢:避免多執行緒同步,還可以防止反序列化建立的新物件
@suppresswarnings("unused")
public enum singleton07 }}
}
白話設計模式之單例模式(7種寫法)
學習設計模式的時候 往往第乙個就是單例模式,啥是單例模式呢?接下來我就為大家梳理一下7種寫法 1.定義 ensure a class has only one instance,and provide a global point of access to it.確保某乙個類只有乙個例項,而且自行例...
設計模式系列 單例模式的7種寫法
單例模式是一種常用的軟體設計模式,在他的核心結構中只包含乙個被稱為 單例的特殊類。通過單例模式可以保證系統只有乙個例項而且該例項易於外界訪問,從而方便對例項個數的控制並節約系統資源。如果希望在系統中某個類的物件只能存在乙個,單例模式是最好的解決方案。singletom類,定義乙個getinstanc...
單例模式的7種寫法
在介紹單例模式的寫法之前,我們有必要了解一下什麼是單例模式。單例模式是一種常用的軟體設計模式,在他的核心結構中只包含乙個被稱為 單例的特殊類。通過單例模式可以保證系統只有乙個例項而且該例項易於外界訪問,從而方便對例項個數的控制並節約系統資源。如果希望在系統中某個類的物件只能存在乙個,單例模式是最好的...