單例設計模式

2021-10-07 05:27:52 字數 1383 閱讀 2156

class singleton

private static singleton instance=new singleton();

public static singleton getinstance()

}

特點:執行緒安全。但是在初始化的時候,就建立了物件,不一定能用到,容易造成資源浪費。

class singleton

private static singleton instance;

public static singleton getinstance()

}

特點:實現了延遲載入,但是這種寫法只能在單執行緒下使用,多執行緒會出現先傳給你安全,因為可能兩個執行緒同時進入判斷語句,而此時確實都不成立,就不是單例了。

class singleton

private static singleton instance;

public static synchronized singleton getinstance()

}

特點:執行緒同步,安全,但是例項化只需要一次,後面的直接進行return就行了,這個每次都要再進行判斷,效率太低。

class singleton

private static singleton instance;

public static singleton getinstance()

}return instance;

}}

特點:此種方法問題就很大了!!如果進入,在判斷的時候就已經進入了,所以在那裡加鎖並沒有意義。

class singleton

private static singleton instance;

public static singleton getinstance()}}

return instance;

}}

特點:執行緒安全,執行緒同步,效率較高。不錯!!

class singleton

private static class singletoninstance

public static synchronized singleton getinstance()

}

public class demo1 

}enum singleton

特點:這種方法安全,效率高,主要是看著就很,對吧。但是,底層原理是什麼?

1.對於需要頻繁的建立銷毀的物件,使用單例,節約了系統資源。

【注意】:這裡不直接new是因為想用延遲載入。

單例設計模式(餓漢單例設計模式 懶漢單例設計模式)

1.什麼是單例 單例的意思是乙個類永遠只存在乙個物件,不能建立多個物件。2.為什麼要用單例 開發中有很多的物件我們只需要乙個,例如虛擬機器物件,任務管理器物件 物件越多越佔記憶體,有時候只需要乙個物件就可以實現業務,單例可以節省記憶體空間。3.如何實現單例 單例的實現方式有 餓漢單例設計模式 通過類...

設計模式 單例設計模式

歷史 最早是建築學領域的模式,然後gof四人由其引申到編碼方面,總結了23種設計模式 設計模式 解決某一類事情最行之有效的方法 2.1 體現 餓漢式,保證物件的唯一性 class singleton 私有化建構函式禁止該類建立物件 private static singleton st new si...

設計模式 單例設計模式

單例模式,是一種常用的軟體設計模式。在它的核心結構中只包含乙個被稱為單例的特殊類。通過單例模式可以保證系統中乙個類只有乙個例項。即乙個類只有乙個物件例項 單例模式的要點有三個 一是某個類只能有乙個例項 二是它必須自行建立這個例項 三是它必須自行向整個系統提供這個例項。單例設計模式 解決的問題 可以保...