單例模式

1、餓漢模式

public class Singleton {

? ? private static Singleton instance = new Singleton();

? ? private Singleton() {}

? ? public static Singleton getInstance() {

? ? return instance;

????}

}

2、懶漢模式

public class Singleton {

????private static Singletoninstance;

????private Singleton() {}

????public static synchronized SingletongetInstance() {

????????if(instance ==null) {

????????????instance =new Singleton();

????? ???? }

????????return instance;

????}

}

3、雙重檢測

public class Singleton {

????private static volatile Singleton instance;

????private Singleton() {}

????public static Singleton getInstance() {

????????if (instance == null) {

????????????synchronized(Singleton.class) {

????????????????// 此處為類級別的鎖

????????????????if (instance == null) {

????????????????????instance = new Singleton();

????????????????}

????????????}

????????}

????????return instance;

? }

4、靜態(tài)內(nèi)部類

public class Singleton {

????private Singleton() {}

????private static class SingletonHolder{

????private static final Singletoninstance =new Singleton();

????}

????public static SingletongetInstance() {

????return SingletonHolder.instance;

????}

}

5、枚舉類

public enum Singleton{

INSTANCE;

}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 定義 一個(gè)類只有一個(gè)實(shí)例,自行實(shí)例化并提供給整個(gè)系統(tǒng)。 基本思路 將該類構(gòu)造函數(shù)私有化,并通過靜態(tài)方法獲取一個(gè)唯一...
    劇透下閱讀 307評論 0 0
  • 第一種(懶漢,線程不安全): public class Singleton { private static ...
    Cherry300閱讀 168評論 0 2
  • 第一種(懶漢,線程不安全): public class Singleton { private static Si...
    墨雨軒夏閱讀 1,465評論 4 41
  • 單例模式(Singleton Pattern)是眾多設(shè)計(jì)模式中較為簡單的一個(gè),同時(shí)它也是面試時(shí)經(jīng)常被提及的問題,如...
    廖少少閱讀 651評論 0 1
  • 單例模式 單例模式(Singleton Pattern)是 Java 中最簡單的設(shè)計(jì)模式之一。這種類型的設(shè)計(jì)模式屬...
    超級小學(xué)生1閱讀 369評論 0 0

友情鏈接更多精彩內(nèi)容