/*單例模型:保證該類中的物件的唯一性
* 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 在類中建立乙個本類...