/*
* 餓漢式和懶漢式的區別
* 1,餓漢式是空間換時間,懶漢式是時間換空間
* 2,在多執行緒訪問時,餓漢式不會建立多個物件,而懶漢式有可能會建立多個物件
*/
/*
* 餓漢式*/
class singleton
//2,建立本類物件
private static singleton s = new singleton();
//3,對外提供公共的訪問方法
public static singleton getinstance()
}
/*
* 懶漢式,單例的延遲載入模式
*/class singleton
//2,宣告乙個引用
private static singleton s ;
//3,對外提供公共的訪問方法
public static singleton getinstance()
return s;
}}
/**
* 實際式 -- 實際的應用模式
*/class singleton
//2,宣告乙個引用
public static final singleton s = new singleton();
}
測試主類:
public class test_singleton
}
runtime通過檢視原始碼就是單例模式
1、單例模式應用場景: 關閉機器
public class demo2_runtime
}
應用場景2: 在指定時間安排指定任務
public class demo3_timer }}
class mytimertask extends timertask
}
C 設計模式 單例類
本文假設有乙個manager管理類,單例類懶漢 餓漢模式的實現,和單例類的多執行緒安全性,最後介紹meyers singleton寫法。當第一次要用單例類的時候,再產生例項。是一種典型的拖延 lazy 策略。類宣告 class manager 類定義 單例物件指標初始化為nullptr,防止指向了未...
類的設計模式(1) 單例模式
總結單例的一般實現比較簡單,下面是 和uml圖。由於建構函式是私有的,因此無法通過建構函式例項化,唯一的方法就是通過呼叫靜態函式getinstance。這裡只有乙個類,如何實現singleton類的子類呢?也就說singleton有很多子類,在一種應用中,只選擇其中的乙個。最容易就是在getinst...
Python中單例設計模式
class singleton object 注釋 instanc none def init self,name,age self.name name self.age age def new cls,name,age 建立乙個單例的物件 建立乙個 instance用來儲存第一次建立的物件引用 如...