java學習筆記 單例模型

2021-06-19 00:01:24 字數 649 閱讀 4201

/*單例模型:保證該類中的物件的唯一性

* 1.建立私有靜態物件

* 2.不讓其他類建立該類物件

* 3.對外提供對物件 

*/class singer

public static singer getsinger()

//以上是餓漢式單例模型

private int age;

public void setage(int age)

public int getage()}

public class singerdemo

}懶漢式

class singer

public static  singer get

singer()

//以上是懶漢式

public int age;

public void setage(int age)

public int getage()}

餓漢式比懶漢式在開發用得多

第一,餓漢式在載入類是就載入物件,懶漢式在載入類時物件為空,需要時載入。但是一般用到此方法是都是有物件的。

第二,懶漢式存在安全隱患,當多執行緒同時訪問呼叫該類是會出現多個物件的可能,需要加入關鍵字(加鎖)synchronized(保證同時),但是加入此關鍵字會使程式呼叫變慢。

java設計模式 單例模式 學習筆記

1 為什麼使用單例設計模式?為了避免多個例項造成資源浪費,與避免多例項多次呼叫出現的錯誤 2 什麼是單例設計模式?單例模式能夠保證整個應用中有且只有乙個例項 3 怎麼使用單例模式?1 私有化該類的建構函式 2 在 本類中new乙個物件 3 定義乙個公有的方法,返回由該類建立的物件 4 單例模式的寫法...

Java學習筆記 單例設計模式 (一)

1 什麼是單例模式 單例模式解決乙個類在記憶體中只存在乙個物件的問題。2 單例模式適合場景 單例模式適合於乙個類只有乙個例項的情況,比如視窗管理器,列印緩衝池和檔案系統,它們都是原型的例子。典型的情況是,那些物件的型別被遍及乙個軟體系統 的不同物件訪問,因此需要乙個全域性的訪問指標,這便是眾所周知的...

java筆記 單例設計模式

解決乙個類在記憶體中只存在乙個物件 思路 1 為了避免其它程式過多建立該類物件,先禁止其它程式建立該類物件 2 為了讓其它程式可以訪問到該類物件,只好在本類中自定義乙個物件 3 為了方便其它程式對自定義物件的訪問,可以對外提供一些訪問方式 用 體現的思路 1 將建構函式私有化 2 在類中建立乙個本類...