最近在看點演算法的東西,有點收穫就記錄一下。
單例模式的概念學過物件導向的應該都清楚,這裡就不贅述了。需要記錄一下的是單例模式的兩種寫法:懶漢模式和餓漢模式
這兩者的概念看名字其實有點難理解,但是仔細想想很貼切,我用自己的語言通俗一點解釋一下,可能並不能嚴謹的定義,但是有助於理解——
懶漢模式:即什麼時候需要用到這個類的物件,就什麼時候去例項化,不用到就永遠都不例項化。看**來對比區別:餓漢模式:即一開始例項化好,用不用再說,反正先準備好。
/**
* 懶漢寫法(最常見。獲取例項相對慢,但是載入類相對快)
*/public
class
singleton
public
static singleton getinstance()
return instance;
} }/**
* 餓漢寫法(比較少見。獲取例項相對快,但是載入類相對慢)
*/public
class
singleton
public
static singleton getinstance()
}
public
class singleton
public
static synchronized singleton getinstance()
return instance;
} }
多數情況下,不需要這樣進行同步處理,因為這樣做**的效率會變低,不需要特殊考慮多執行緒的情況則不要這樣去做。
以上是一點學習心得,感謝閱讀!
java單例模式懶漢和餓漢
實現 1 公開靜態的對外訪問方法 2 私有的構造方法 保證不被外部呼叫 3 類載入時候建立物件 餓漢式 public class instance1 private static instance1 d new instance1 private instance1 public static in...
java 單例模式 懶漢和餓漢
確保乙個類只有乙個例項,並提供乙個全域性訪問點。package wfb.pattern public class singleton public static singleton getinstance return instance package wfb.pattherntest import...
懶漢餓漢單例模式
懶漢式單例類,在第一次呼叫時的時候例項化自己 public class singleton private static singleton single null 靜態工廠方法 public static singleton getinstance return single 執行緒安全的懶漢式單...