黑马Java学习笔记之-----单例模式
----------------------?android培訓、java培訓、期待與您交流!?----------------------
?
單例模式:
單例模式確保一個類只有一個實例,自行提供這個實例并向整個系統提供這個實例。
特點:
?????? 1,一個類只能有一個實例
?????? 2,自己創建這個實例
?????? 3,整個系統都要使用這個實例
?
保證唯一性的思想及步驟:
**為了避免其他程序建立該類對象,先禁止其他程序建立該類對象,即將構造函數私有化
**為了其他程序訪問到該類對象,須在本類中創建一個該類私有對象
**為了方便其他程序訪問到該類對象,可對外提供一個公共訪問方式
兩種形式:
1、餓漢式單例類:當類加載的時候就創建對象
?
2、 懶漢式單例類:當使用的時候才創建對象
1 class LazySingleton { 2 // 注意,這里沒有final 3 private static LazySingleton m_instance = null; 4 5 /** * 私有的默認構造函數 */ 6 private LazySingleton() { 7 } 8 9 //使用時生成實例,提高了效率! 10 public synchronized static LazySingleton getInstance() { 11 if (m_instance == null) { 12 m_instance = new LazySingleton(); 13 } 14 return m_instance; 15 } 16 }餓漢式和懶漢式的區別:
**
餓漢式是類一加載進內存就創建好了對象;
懶漢式則是類才加載進內存的時候,對象還沒有存在,只有調用了getInstance()方法時,
對象才開始創建。
**
注:
開發常用餓漢式,因為餓漢式簡單安全。懶漢式多線程的時候容易發生問題
?
----------------------?android培訓、java培訓、期待與您交流!?----------------------
?
轉載于:https://www.cnblogs.com/MercyK/archive/2013/04/29/3020988.html
總結
以上是生活随笔為你收集整理的黑马Java学习笔记之-----单例模式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 升级GCC 4.6后的warning:
- 下一篇: 通用用户权限管理系统组件V3.8功能改进