設計模式1,單例模式

2021-10-08 16:56:14 字數 1563 閱讀 9281

先執行父類的靜態**塊和靜態變數初始化,靜態**塊和靜態變數的執行順序跟****現的順序有關。

執行子類的靜態**塊和靜態變數初始化。

執行父類的例項變數初始化

執行父類的建構函式

執行子類的例項變數初始化

執行子類的建構函式

/**

* 單例模式:餓漢式

* 類載入的時候就完成了例項化

* 優點:沒有執行緒的安全的問題

* 缺點:類的例項沒有使用的時候就會建立,占用記憶體

*/public class singlemodel1

private final static singlemodel1 instance = new singlemodel1();

public static singlemodel1 getinstance()

}

/**

* 單例模式:懶漢式載入

* 獲取例項的時候才會建立物件

* 優點:解決了物件過早的例項化問題,避免記憶體浪費

* 缺點:每次獲取例項化的時候因為synchronized產生效能問題

*/public class singlemodel2

public synchronized singlemodel2 getinstance()

return singlemodel2.instance;

}}

/**

* 單例模式:懶漢式載入

* 雙重檢查懶漢式

*/public class singlemodel3

public static singlemodel3 getinstance() }}

return instance;

}}

/**

* 靜態內部類模式

*/public class singlemodel4

public singlemodel4 getinstance()

}

/**

* 列舉方式

*/public class singlemodel5

public enum instanceenum

}public singlemodel5 getinstance()

}

單例的執行緒池

/**

* @auther: draymond

* @date: 2020/6/9 17:36

*/public class singlethreadpool

public static threadpoolexecutor getinstance()

}

直接通過

singlethreadpool.getinstance() 獲取執行緒池例項

也可以通過ioc容器管理,標記成單例模式(更簡單),理論上ioc管理的單例,不是真正的單例,因為控制不了其他人員使用new的方式建立

設計模式1 單例模式

文章引用出處 singleton模式是最簡單最常用的設計模式。1,定義 確保某個類只有乙個例項,而且自行例項化並向整個系統提供這個該類。2,單例模式優點 1 單例模式在記憶體中只有乙個例項,減少了記憶體的開支。2 單例模式只生成乙個例項模式,減少了系統效能的開銷。如當乙個物件的產生需要比較多的系統資...

設計模式1 單例模式

單例模式,利用工廠類只生產乙個例項或者有限個例項,比如乙個系統中只有乙個主機板,乙個顯示卡,但是有些系統中也可以存在多個,雙顯示卡,雙顯示器等等。這些在singleton module中都是可以定義的。當然我們也可以使用全域性的變數或者靜態類或者物件去做,但是單例模式的存在是有其優點的。public...

設計模式1 單例模式

保證乙個類只有乙個例項 即乙個物件,並且提供乙個訪問該例項的全域性訪問點 即類中有乙個公共的方法 方法的返回該類的物件。1.windows的任務管理器 無論開啟多少次都只能開啟乙個視窗 2.windows的 站 3.專案中的配置檔案 4.的計數器 5.日誌 6.連線池 8.spring的bean 預...