天天看點

Java-單例模式

單例模式

@Date 2015.08.24

适用場景
  • 單例對象能保證在一個JVM中,該對象隻有一個執行個體存在
  • 某些類建立比較頻繁
  • 某些資源類隻能存在一個類控制
同步鎖 & 懶加載
雙重同步鎖 & 懶加載
  • 非兩步驟同步,減少第一種方式每次都加鎖問題
  • Java指令中建立對象和指派操作是分開進行的,JVM不能保證配置設定記憶體和執行個體化對象的執行順序
同步鎖 & 非懶加載
  • 類加載時即生成執行個體
  • 由JVM classloader加載,保證類加載過程是互斥的,線程安全
  • 若構造時抛出異常,則建立失敗
内部類
  • 由JVM classloader加載,線程安全