單體模式的不同變現形式:
1.餓漢單例模式
2.懶漢單例模式
3.多例模式
1.餓漢單例模式
public class singleton
; // 建立私有靜態例項,意味著這個類第一次使用的時候就會進行建立
private static singleton instance = new singleton();
public static singleton getinstance(
) // 瞎寫乙個靜態方法。這裡想說的是,如果我們只是要呼叫 singleton.getdate(
...),
// 本來是不想要生成 singleton 例項的,不過沒辦法,已經生成了
public static date getdate(string mode)
}
很多人都能說出餓漢模式的缺點,可是我覺得生產過程中,很少碰到這種情況:你定義了乙個單例的類,不需要其實例,可是你卻把乙個或幾個你會用到的靜態方法塞到這個類中。
2.懶漢單例
//雙鎖模式(執行緒安全,效率低下,適合初次啟動載入一次的)
public class singleton
// 和餓漢模式相比,這邊不需要先例項化出來,注意這裡的 volatile,它是必須的
private static volatile singleton instance = null;
public static singleton getinstance()}
}return instance;
}}
//內部類模式
/**
* 執行緒安全,效率高,並且實現延遲載入
*/class lazy implements serializable
private lazy(
) public static lazy getinstance(
) //防止反序列化獲取多個物件
private object readresolve(
) throws objectstreamexception
}
3.多例模式----雙例
public class many
public static many getinstance (int whickone)
}
設計模式 七 單例模式
1 介紹 2 餓漢式單例模式 author chenpeng date 2018 7 18 22 22 餓漢式單例模式 載入類的時候就例項化靜態屬性 public class singleton 3 開放的訪問方法 方法沒有同步,效率高 return public static singleton ...
(七)單例模式
單例模式是指的什麼意思?那麼,要實現單例模式,有幾個要點 單例模式的應用場景有哪幾個呢?public class singleton 最後,需要有乙個共有的,靜態方法 這個方法,負責建立唯一的例項,並且返回這個唯一的例項 必須考慮到可能會出現的多執行緒併發訪問安全的問題 就是說,可能會有多個執行緒同...
設計模式 單例模式
單例模式 singleton pattern 是乙個比較簡單的模式,其定義如下 ensure a class has only one instance,and provide a golbal point of acess to it.確保某乙個類只有乙個例項,而且自行例項化並且向整個系統提供這個...