[Java]單例模式

public class Singleton {

    private static Singleton instance;
    private Singleton(){}
    
    public static Singleton getInstance_0(){
        synchronized (Singleton.class) {
            if(instance == null){
                instance = new Singleton();
            }
        }
        return instance;
    }
    
    public static Singleton getInstance_1(){
        if(instance == null){
            synchronized (Singleton.class) {
                if(instance == null){
                    instance = new Singleton();
                }
            }
        }
        return instance;
    }
}

區別在于第一次的時候instance都是null,多線程就會產生兩個實例。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 1. 實現單例模式 餓漢模式和懶漢模式單例模式根據實例化時機分為餓漢模式和懶漢模式。餓漢模式,是指不等到單例真正使...
    aaron1993閱讀 230評論 0 0
  • 單例模式簡介 在GoF的23種設計模式中,單例模式是比較簡單的一種。然而,有時候越是簡單的東西越容易出現問題。下面...
    王帥199207閱讀 1,509評論 0 107
  • 目錄一.什么是單例?二.有幾種?三.應用場景四.注意的地方 一.什么是單例? 單例模式 保證一個類在內存中只有一個...
    在挖坑的猿閱讀 875評論 0 0
  • 昨天讀到了公眾號“Import New”的Hi,我們再來聊一聊 Java 的單例 很有收獲,在此做個簡單的記錄。 ...
    18c3ad7caf58閱讀 128評論 0 2
  • 如果人是一株植物 你應該是那風中搖曳的蓮花
    關月樓閱讀 154評論 2 0