锘??xml version="1.0" encoding="utf-8" standalone="yes"?>精品亚洲视频在线观看,亚洲男人的天堂www,久久久亚洲欧洲日产国码是AV http://www.tkk7.com/lincode/category/33730.htmlzh-cnMon, 03 May 2010 10:40:13 GMTMon, 03 May 2010 10:40:13 GMT60鍗曚緥妯″紡 Singleton http://www.tkk7.com/lincode/archive/2010/04/30/319827.htmllincodelincodeFri, 30 Apr 2010 13:04:00 GMThttp://www.tkk7.com/lincode/archive/2010/04/30/319827.htmlhttp://www.tkk7.com/lincode/comments/319827.htmlhttp://www.tkk7.com/lincode/archive/2010/04/30/319827.html#Feedback0http://www.tkk7.com/lincode/comments/commentRss/319827.htmlhttp://www.tkk7.com/lincode/services/trackbacks/319827.html 涓 鍩烘湰姒傚康
鍗曚緥妯″紡鏄竴縐嶄負(fù)綾?鎻愪緵鍞竴瀹炰緥鐨勮璁℃ā寮忋傚崟渚嬫ā寮忕殑鐩殑鏄負(fù)浜嗘帶鍒跺璞$殑鍒涘緩錛屽畠鍙互闄愬埗鍒涘緩鐨勬暟鐩負(fù)涓錛屼絾鍦ㄦ儏鍐墊敼鍙樼殑鏃跺欙紝涔熷厑璁哥伒媧誨湴鍒涘緩鏇村鐨勫璞°傚洜涓哄彧鏈変竴涓疄渚嬶紝鎵浠ヤ篃鍙湁涓濂楀疄渚嬬殑綾誨彉閲忕殑鎷瘋礉錛岃繖寰堝儚 static 鍙橀噺銆?br />
鍦?JAVA 涓紝鍗曚緥妯″紡涓嶅簲璇ヨ褰撲綔涓縐嶅疄鐜板叏灞鍙橀噺鐨勬柟娉曘傛洿澶氱殑錛屽鍚屽伐鍘傛ā寮忥紝鍗曚緥妯″紡鍏佽浣犻氳繃 紜鏌愪簺鍏堝喅鏉′歡鏄惁婊¤凍 鎴栬?浠?lazily 鏂瑰紡鎸夐渶鍒涘緩鐨勬柟寮?鏉ュ皝瑁呭拰鎺у埗鍒涘緩榪囩▼銆?br />
浜?緙栫▼瀹炵幇
1 楗ラタ妯″紡 Eager Singleton

public class MySingleton {
    
private static MySingleton fInstance = new MySingleton();
    
    
private MySingleton(){
        
// Construct object 
    }


    
public static MySingleton getInstance(){
        reutnr fInstance;
    }


}

2 鎳掓眽妯″紡 Lazy Singleton

public class MySingleton {
    
private static MySingleton fInstance;
    
    
private MySingleton(){
        
// construct object
    }

    
    
public static synchronized MySingleton getInstance(){
        
if (fInstance == null){
            fInstance 
= new MySingleton();
        }

        
return fInstance;
    }


}

鐢變簬鍙湁涓涓鏈夋瀯閫犲櫒錛屾墍浠ュ崟渚嬬被鏄棤娉曡闆嗘垚鐨勩傚熀浜庤繖涓鐐癸紝鍗曚緥妯″紡騫朵笉鏄竴涓潰鍚戝璞℃ā寮忥紝浠呬粎鏄竴涓熀浜庡璞$殑妯″紡銆?br />
3 楗ラタ妯″紡鍩烘湰娌℃湁闂錛屾噿姹夋ā寮忓垯瀹規(guī)槗鍑虹幇涓浜涢敊璇殑緙栫▼鏂規(guī)硶
1)
// error, no synchronization on method 
public static MySingleton getInstance() 
 
if (fInstance==null
     fInstance 
= new MySingleton(); 
 }
 

 
return fInstance; 
}

2)
// Also an error, synchronization does not prevent 
// two calls of constructor. 
public static MySingleton getInstance() 
 
if (fInstance==null
   
synchronized (MySingleton.class
      fInstance 
= new MySingleton(); 
   }
 
 }
 
 
return fInstance; 
}
 

3) Double-checked locking 涓嶈浣跨敤

public static MySingleton getInstance(){
    
if (fInstance == null ){
        
synchronized (MySingleton.class{
            
if(fInstance == null){
                fInstance 
= new MySingleton();
            }

        }

    }

}

涓轟簡閬垮厤姣忔璋冪敤 getInstance鏂規(guī)硶鏄姄鍙栧悓姝ラ攣鐨勬秷鑰楋紝鏈変漢鍙戞槑浜?Double-checked locking 銆備絾涓嶈浣跨敤錛屽洜涓鴻繖鏍風(fēng)殑浠g爜灝嗘棤娉曞湪緙栬瘧鍣ㄤ紭鍖栧拰澶氬鐞嗗櫒鍏變韓鍐呭瓨鐨勬儏鍐典笅宸ヤ綔銆傝嫢鎯寵緇嗕簡瑙o紝闄勫綍涓湁瀵規(guī)鍋氳緇嗘弿榪扮殑閾炬帴銆?br />
涓?鎬葷粨

1 鍗曚緥妯″紡涓嶅簲琚互鐢紝姣斿涓嶈兘涓轟簡寰楀埌涓涓叏灞鍙橀噺鑰屽垱寤哄崟渚嬶紝鍗曚緥鏄敤浜庢帶鍒跺璞$殑鍒涘緩榪囩▼鐨勩傚彧鏈夌湡姝g殑鐩殑鏄帶鍒跺璞″垱寤虹殑榪囩▼鎴栨暟閲忔椂錛屾墠鑳借冭檻浣跨敤鍗曚緥銆傚湪澶ч儴鍒嗘儏鍐典笅錛屽崟渚嬫ā寮忔槸鏈変唬鏇挎柟妗堢殑銆傛瘮濡傜粡鍏哥殑鏁版嵁搴撹繛鎺ョ被琚互鍗曚緥瀹炵幇錛屽叾瀹炲彲浠ヤ互瀵硅薄姹犳ā寮忓疄鐜般?br />
2 浣跨敤鍗曚緥妯″紡錛屽敖閲忎嬌鐢ㄩゥ楗挎ā寮?錛屽彧鏈変綘鑳介嫻嬭繖涓被涓瀹氫細(xì)琚垱寤猴紝閭d箞灝卞彲浠ヤ嬌鐢ㄩゥ楗挎ā寮忋傚鏋滐紝涓瀹氶渶瑕佹帹榪熷璞$殑鍒涘緩鏃墮棿銆傞偅涔堜笉瑕佷嬌鐢?Double-checked locking 涔嬬被鐨勬柟娉曠殑鏉ユ彁楂樻晥鐜囷紝榪欏皢寰椾笉鍋垮け銆?br />
[1] DoubleCheckedLocking
http://www.cs.umd.edu/~pugh/java/memoryModel/DoubleCheckedLocking.html


lincode 2010-04-30 21:04 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 尤物视频在线免费观看| 亚洲中文字幕久久精品无码VA| 男人免费视频一区二区在线观看| 18禁超污无遮挡无码免费网站国产 | 无码国产精品一区二区免费| 亚洲AV成人无码久久精品老人| 免费精品久久天干天干| 亚洲αv在线精品糸列| 女人体1963午夜免费视频| 亚洲av综合avav中文| 无码国产精品一区二区免费vr| 久久精品国产亚洲AV麻豆王友容| 免费国产叼嘿视频大全网站| 亚洲精品免费在线观看| 91久久青青草原线免费| 亚洲男人的天堂在线| 成人性生免费视频| 男女交性无遮挡免费视频| 久久久久亚洲爆乳少妇无| a级黄色毛片免费播放视频| 亚洲天堂中文字幕| 美女被免费喷白浆视频| 午夜亚洲WWW湿好爽| 久久久久无码专区亚洲av| 人妻无码久久一区二区三区免费| 亚洲理论片在线中文字幕| 麻豆成人精品国产免费| 一区二区三区免费视频网站 | 久久水蜜桃亚洲av无码精品麻豆| 日韩在线播放全免费| 色综合久久精品亚洲国产| 亚洲五月综合缴情在线观看| 最近2019年免费中文字幕高清 | 亚洲VA综合VA国产产VA中| 三上悠亚在线观看免费| 91精品国产亚洲爽啪在线观看| 在线视频免费观看高清| 污污视频免费观看网站| 久久青草亚洲AV无码麻豆| 成人免费一级毛片在线播放视频 | 亚洲国产精品无码久久一区二区|