模式的秘密 單例模式

2021-09-07 17:03:12 字數 1493 閱讀 5100

1,單例模式分:餓漢模式和懶漢模式。

餓漢模式:在載入類的時候就自動建立

懶漢模式:在載入類的時候只宣告,只有在呼叫的時候才建立。

單例模式:最重要的是通過構造方法私有化,限制外部初始化例項,在內部建立,通過static關鍵字,使得外部可以通過類名呼叫方法,獲取類唯一例項。

餓漢模式例項:

package

com.singleton;

/*單利模式singleton

* 應用場合:有些物件只需要乙個就夠了,如:皇帝,老婆

* 作用:保證某個應用程式中某個例項有且只有乙個

* 型別:餓漢模式,懶漢模式

* 區別:餓漢模式的特點是載入類時候比較慢,但是執行時候獲取物件的速度比較快。執行緒安全

* 懶漢模式的特定載入類的時候比較快,但執行時候獲取物件比較慢。執行緒不安全。

* */

/*餓漢模式:類載入後,這個類例項就會因為static關鍵字建立

* */

public

class

singleton

//2,建立唯一的應用例項,使用private static

private

static singleton instance=new

singleton();

//3,提供乙個用於獲取例項的方法,使用public static

public

static

singleton getinstance()

}

懶漢模式例項:

package

com.singleton;

/*懶漢模式

* 懶漢模式:並不會在載入類的時候建立例項,而是在方法呼叫,用到的時候才會建立。

* */

public

class

singleton2

//2,宣告類唯一的應用例項,使用private static

private

static

singleton2 instance;

//3,提供乙個用於獲取例項的方法,使用public static

public

static

singleton2 getinstance()

return

instance;

}}

呼叫這兩個類測試:

package

com.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...