第一種(懶漢,執行緒不安全):
publicclass
singleton
public
static
singleton getinstance()
return
instance;
}}
第二種(懶漢,執行緒安全):
publicclass
singleton
public
static
synchronized
singleton getinstance()
return
instance;
}}
第三種(餓漢):
publicclass
singleton
public
static
singleton getinstance()
}
第四種(餓漢,變種):
privatestatic singleton instance = null
;
static
private
singleton (){}
public
static
singleton getinstance()
}
第五種(靜態內部類):
publicclass
singleton
private
singleton (){}
public
static
final
singleton getinstance()
}
第六種(列舉):
publicenum
singleton
}
第七種(雙重校驗鎖):
publicclass
singleton
public
static
singleton getsingleton() }}
return
singleton;
}}
七種單例模式的寫法
餓漢式 特點 在類載入時例項化,執行緒安全,如果沒有使用instance的話比較耗費資源 class singletondemo public static singletondemo getinstance 懶漢式 非執行緒安全 特點 使用時再例項化 class singletondemo pub...
設計模式之單例模式(及七種寫法)
乙個類有且僅有乙個例項,並且自行例項化向整個系統提供 看看下面七種實現方式 public class singleton public static singleton getinstance public class singleton public static singleton getins...
單例模式實現(七種)
單例模式確保乙個類只有乙個例項,並提供乙個全域性訪問點,實現單例模式的方法是私有化建構函式,通過getinstance 方法例項化物件,並返回這個例項 保證在jvm中只有乙個例項 優點 1 單例類只有乙個例項 2 共享資源,全域性使用 3 節省建立時間,提高效能 public class singl...