單例設計模式

單例設計模式

單例設計模式能夠有效地節約資源,避免重複地申請新的內存空間,在程序的生命週期中只用一個類的實例來完成對數據的操做。html

經過學習,我瞭解到單例模式有兩種形式:懶漢式和餓漢式。設計模式

懶漢式

示例代碼:學習

 1 public class SingleTon{
 2     private static SingleTon singleTon;
 3     
 4     private SingleTon() {}
 5     
 6     public static SingleTon getInstance() {
 7         if(singleTon==null) {
 8             
 9             synchronized (SingleTon.class) {
10                 if(singleTon==null) {
11                     singleTon=new SingleTon();
12                 }
13             }
14         }
15         
16         return singleTon;
17     }
18     
19 }

 

 

餓漢式

示例代碼:spa

 1 public class SingleTon{
 2     private static SingleTon singleTon = new SingleTon();
 3     
 4     private SingleTon() {}
 5     
 6     public static SingleTon getInstance() {
 7         return singleTon;
 8     }
 9     
10 }

單例模式的兩種方式各有利弊,懶漢式在運行時獲取實例,犧牲了效率換取了初始內存空間的節約;餓漢式在類加載時就完成了初始化,犧牲了 初始內存空間的節約 從而得到了效率。二者效率差別問題須要在JVM層面詳解,參考下列文章。設計

 

 

 

 

 

 

參考文章:http://www.cnblogs.com/iliuyuet/p/5603618.htmlcode

http://www.javashuo.com/article/p-updqgwok-dd.htmlhtm

相關文章
相關標籤/搜索