設計模式 java單例模式 懶漢 餓漢

2021-07-24 09:11:37 字數 616 閱讀 5851

單例模式的懶漢餓漢區別就是是否在程式一開始就建立單例

注意:懶漢單例是執行緒不安全的,如果有兩個執行緒,我們稱它們為執行緒1和執行緒2,在同一時間呼叫getinstance()方法,如果執行緒1先進入if塊,然後執行緒2進行控制,那麼就會有兩個例項被建立。

所以我們需要使用synchronize關鍵字

//懶漢式單例模式  

public

class mysingleton

//開放乙個公有方法,判斷是否已經存在例項,有返回,沒有新建乙個在返回

public

static mysingleton getinstance()else

system.out.println("-->方法呼叫結束,返回單例");

return mysingleton;

} }

/** 

* 餓漢式單例模式

* mysingleton2

*/public

static

void

myprint2()

system.out.println();

}

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

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

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

什麼是單例模式?就是自始至終只有乙個例項,不管new多少次物件,他們都指向同乙個引用。保證整個應用中某個例項有且只能有乙個。比如古代只能有乙個皇帝。一些物件我們只需要乙個,比如 配置檔案 工具類 執行緒池 快取 日誌物件等。如果創作出多個例項,就會導致很多問題,比如占用過多資源,不一致的結果等。單例...

單例模式 懶漢模式

在實際應用中,我們往往希望在使用的時候才進行類的載入,而不希望類初始化的時候就進行載入,所以單例模式又有了另外一種實現,懶漢模式 一.延遲載入 如下 public class myobject public static myobject getinstance return myobject 延遲...