轉 單列模式懶漢式,餓漢式

2021-09-30 12:29:23 字數 537 閱讀 1563

1. 單例模式singleton

a. 只能有乙個例項

b. 例項必須由單例類自己建立,自己new

c. 所有物件共享這乙個例項

2. 餓漢式

public class eagersingleton 

/** 

* 靜態工廠方法 

*/ public static eagersingleton getinstance() 

}3. 懶漢式

public class lazysingleton 

/** 

* 靜態工廠方法,返還此類的惟一例項 

*/ synchronized public static lazysingleton getinstance() 

return m_instance; 

}比較:

餓漢式是執行緒安全的,在類建立的同時就已經建立好乙個靜態的物件供系統使用,以後不在改變

懶漢式如果在建立例項物件時不加上synchronized則會導致對物件的訪問不是執行緒安全的

推薦使用第一種

單列模式之餓漢式,懶漢式

懶漢式的特點是延遲載入,比如配置檔案,採用懶漢式的方法,顧名思義,懶漢麼,很懶的,配置檔案的例項直到用到的 時候才會載入。餓漢式的特點是一開始就載入了,如果說懶漢式是 時間換空間 那麼餓漢式就是 空間換時間 因為一開始就建立了例項,所以每次用到的之後直接返回就好了 1.惡漢式 public clas...

單列模式之餓漢式和懶漢式

單列模式的特點 從系統的啟動到終止,這個過程只會產生乙個物件 懶漢式 懶漢式,只有在使用的時候才會new物件 package com.tian.day03 object singletonops1 start class singleton1 private object singleton1 si...

單列模式,懶漢 ,餓漢

設計模式之 單例 1 什麼是單例 就字面理解即可 乙個專案只有乙個例項物件 模式 最常見的兩種 懶漢和餓漢 區別1就在於例項化物件的時機不同 區別2 關於執行緒安全問題 public class singinstancedemo t1,t2,t3 public synchronized singin...