package others;
/** * dcl單例模式:懶漢式套路基礎上加入併發控制,保證在多執行緒環境下,對外存在乙個物件
* 1、構造器私有化-->避免外部new構造器
* 2、提供私有的靜態屬性-->儲存物件的位址
* 3、提供公共的靜態方法-->獲取屬性
* * @author
* */
public
class
doublecheckedlocking
//3.提供公共的靜態方法-->獲取屬性
public
static doublecheckedlocking getinstance()
synchronized
(doublecheckedlocking.
class)}
return instance;
}public
static
void
main
(string[
] args));
t.start()
; system.out.
println
(doublecheckedlocking.
getinstance()
);}}
dcl單例模式
有時候我們需要對外呈現只有乙個物件,簡單來說就是講物件私有化,像資料那樣,只能通過get方法得到。這裡使用doublechecking來進行該操作,即在get方法裡面加入兩個判斷該物件是否為空,同時為了避免指令重排導致執行緒獲得空物件,加入volatile,而且私有化構造器。public class...
DCL單例模式
單例模式 外部不能new物件,類的內部有且只有乙個物件,僅僅用乙個靜態方法與外界進行互動。public class doublecheckedlocking 外部只能通過這個get方法和此物件進行交流 public static doublecheckedlocking getinstance 繫結...
多執行緒 單例模式
單例模式 是非常典型常用的一種設計模式 乙份資源只能被申 載一次 單例模式的方法建立的類在當前程序中只有乙個例項 資源的程式初始化的時候就去載入,後面使用的時候直接使用,使用的時候比較流暢,有可能會載入用不上的資源,導致程式初始化時間比較慢。include class single instance...