設計模式之單例模式的7種寫法 原始碼附上

2021-09-29 16:16:58 字數 1651 閱讀 4477

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種寫法

在介紹單例模式的寫法之前,我們有必要了解一下什麼是單例模式。單例模式是一種常用的軟體設計模式,在他的核心結構中只包含乙個被稱為 單例的特殊類。通過單例模式可以保證系統只有乙個例項而且該例項易於外界訪問,從而方便對例項個數的控制並節約系統資源。如果希望在系統中某個類的物件只能存在乙個,單例模式是最好的...