一、單例模式(SingletonPattern)
定義:確保某一個類只有一個實例,而且自行實例化並向系統提供這個實例;
應用場景:1、要求生成唯一序列號的環境;
2、在整個項目中需要一個共享訪問點或共享數據;web界面上的計數器
3、創建一個對象消耗資源過多,如訪問io與數據庫資源等;
4、定義大量的靜態常亮或者靜態方法;
通用代碼
Public Class Singleton{
private static Singleton singleton=null;
// 限制產生多個對象
private Singleton (){}
// 通過該方法獲取實例對象
public static Singleton getSingletong(){ if(null==singleton){ singleton=new Singleton;} return singleton;}}
備註:如果涉及線程安全問題可以加鎖,如方法鎖或者對象鎖;單例模式也涉及到飽漢模式與餓漢模式,後期會做完整介紹;