1. 程式人生 > >餓漢模式和懶漢模式

餓漢模式和懶漢模式

餓漢模式:一初始化則就會建立私有的靜態的唯一例項 ,
不會出現執行緒安全問題 因為只產生了唯一例項

private static ClassName  name = new ClassName

懶漢模式
初始化不會被建立 只有在真正需要使用的時候才會建立例項。需要編寫get同步方法,因為不確定會建立多少個例項而產生執行緒安全問題。

private static ClassName  name = null;
public static synchronized ClassName  getName () {
    if(name == null){
      name = new ClassName  ();
    }
    return name ;
  }

單例模式的三種要求

  1. 一個類只有一個例項
  2. 必須自行建立例項
  3. 必須自行向整個系統提供這個例項

餓漢模式懶漢模式都是屬於單例模式;