1,單例模式分:餓漢模式和懶漢模式。
餓漢模式:在載入類的時候就自動建立
懶漢模式:在載入類的時候只宣告,只有在呼叫的時候才建立。
單例模式:最重要的是通過構造方法私有化,限制外部初始化例項,在內部建立,通過static關鍵字,使得外部可以通過類名呼叫方法,獲取類唯一例項。
餓漢模式例項:
packagecom.singleton;
/*單利模式singleton
* 應用場合:有些物件只需要乙個就夠了,如:皇帝,老婆
* 作用:保證某個應用程式中某個例項有且只有乙個
* 型別:餓漢模式,懶漢模式
* 區別:餓漢模式的特點是載入類時候比較慢,但是執行時候獲取物件的速度比較快。執行緒安全
* 懶漢模式的特定載入類的時候比較快,但執行時候獲取物件比較慢。執行緒不安全。
* */
/*餓漢模式:類載入後,這個類例項就會因為static關鍵字建立
* */
public
class
singleton
//2,建立唯一的應用例項,使用private static
private
static singleton instance=new
singleton();
//3,提供乙個用於獲取例項的方法,使用public static
public
static
singleton getinstance()
}
懶漢模式例項:
packagecom.singleton;
/*懶漢模式
* 懶漢模式:並不會在載入類的時候建立例項,而是在方法呼叫,用到的時候才會建立。
* */
public
class
singleton2
//2,宣告類唯一的應用例項,使用private static
private
static
singleton2 instance;
//3,提供乙個用於獲取例項的方法,使用public static
public
static
singleton2 getinstance()
return
instance;
}}
呼叫這兩個類測試:
packagecom.singleton;
public
class
test
else
//懶漢模式
singleton2 s3=singleton2.getinstance();
singleton2 s4=singleton2.getinstance();
if(s3==s4)
else
}}
模式的秘密 單例模式
應用場景 讀取配置檔案的類 配置檔案一般不變,只要有乙個類就夠了 計數器 資料庫連線池 經常去new的話很耗資源 severlet 1,單例模式分 餓漢模式和懶漢模式,雙重檢測鎖式,靜態內部類 存在反射漏洞 列舉單例 缺點 無法實現懶載入 餓漢模式 在載入類的時候就自動建立 懶漢模式 在載入類的時候...
模式的秘密 單例模式
1,單例模式分 餓漢模式和懶漢模式。餓漢模式 在載入類的時候就自動建立 懶漢模式 在載入類的時候只宣告,只有在呼叫的時候才建立。單例模式 最重要的是通過構造方法私有化,限制外部初始化例項,在內部建立,通過static關鍵字,使得外部可以通過類名呼叫方法,獲取類唯一例項。餓漢模式例項 package ...
模式設計的秘密之單例模式。
前言 在我們的實際應用中,經常會出現整個應用中有且只有乙個,比如工具類。連線池,日誌,快取等等。這個時候經常就會考慮用單例設計模式來解決問題。一.餓漢式單例模式 public class singleton 自己建立乙個物件,供外界呼叫 private static singleton instan...