锘??xml version="1.0" encoding="utf-8" standalone="yes"?>最新国产精品久久精品,九草视频在线观看,成人香蕉社区http://www.aygfsteel.com/dada2007/zh-cnTue, 17 Jun 2025 20:12:22 GMTTue, 17 Jun 2025 20:12:22 GMT60杞帴http://www.aygfsteel.com/dada2007/archive/2007/03/13/103621.html澶уぇ澶уぇTue, 13 Mar 2007 12:25:00 GMThttp://www.aygfsteel.com/dada2007/archive/2007/03/13/103621.htmlhttp://www.aygfsteel.com/dada2007/comments/103621.htmlhttp://www.aygfsteel.com/dada2007/archive/2007/03/13/103621.html#Feedback0http://www.aygfsteel.com/dada2007/comments/commentRss/103621.htmlhttp://www.aygfsteel.com/dada2007/services/trackbacks/103621.html杞帴涓綃囷紝鍥犱負榪欑瘒鏂囩珷紜疄鍐欏緱濂斤紝

java璁捐妯″紡涔婼ingleton(鍗曟?

瀹氫箟:
Singleton妯″紡涓昏浣滅敤鏄繚璇佸湪Java搴旂敤紼嬪簭涓紝涓涓被Class鍙湁涓涓疄渚嬪瓨鍦ㄣ?

鍦ㄥ緢澶氭搷浣滀腑錛屾瘮濡傚緩绔嬬洰褰?鏁版嵁搴撹繛鎺ラ兘闇瑕佽繖鏍風殑鍗曠嚎紼嬫搷浣溿?br />
榪樻湁, singleton鑳藉琚姸鎬佸寲; 榪欐牱錛屽涓崟鎬佺被鍦ㄤ竴璧峰氨鍙互浣滀負涓涓姸鎬佷粨搴撲竴鏍峰悜澶栨彁渚涙湇鍔★紝姣斿錛屼綘瑕佽鍧涗腑鐨勫笘瀛愯鏁板櫒錛屾瘡嬈℃祻瑙堜竴嬈¢渶瑕佽鏁幫紝鍗曟佺被鑳藉惁淇濇寔浣忚繖涓鏁幫紝騫朵笖鑳絪ynchronize鐨勫畨鍏ㄨ嚜鍔ㄥ姞1錛屽鏋滀綘瑕佹妸榪欎釜鏁板瓧姘鎬箙淇濆瓨鍒版暟鎹簱錛屼綘鍙互鍦ㄤ笉淇敼鍗曟佹帴鍙g殑鎯呭喌涓嬫柟渚跨殑鍋氬埌銆?br />
鍙﹀鏂歸潰錛孲ingleton涔熻兘澶熻鏃犵姸鎬佸寲銆傛彁渚涘伐鍏鋒ц川鐨勫姛鑳斤紝

Singleton妯″紡灝變負鎴戜滑鎻愪緵浜嗚繖鏍峰疄鐜扮殑鍙兘銆備嬌鐢⊿ingleton鐨勫ソ澶勮繕鍦ㄤ簬鍙互鑺傜渷鍐呭瓨錛屽洜涓哄畠闄愬埗浜嗗疄渚嬬殑涓暟錛屾湁鍒╀簬Java鍨冨溇鍥炴敹錛坓arbage collection錛夈?br />
鎴戜滑甯稿父鐪嬪埌宸ュ巶妯″紡涓被瑁呭叆鍣?class loader)涓篃鐢⊿ingleton妯″紡瀹炵幇鐨?鍥犱負琚鍏ョ殑綾誨疄闄呬篃灞炰簬璧勬簮銆?br />

濡備綍浣跨敤?
涓鑸琒ingleton妯″紡閫氬父鏈夊嚑縐嶅艦寮?


CODE:

public class Singleton {銆銆
聽 聽 private Singleton(){}銆銆
聽 聽 //鍦ㄨ嚜宸卞唴閮ㄥ畾涔夎嚜宸變竴涓疄渚嬶紝鏄笉鏄緢濂囨紵銆銆
聽 聽 //娉ㄦ剰榪欐槸private 鍙緵鍐呴儴璋冪敤銆銆
聽 聽 private static Singleton instance = new Singleton();銆銆
聽 聽 //榪欓噷鎻愪緵浜嗕竴涓緵澶栭儴璁塊棶鏈琧lass鐨勯潤鎬佹柟娉曪紝鍙互鐩存帴璁塊棶銆銆銆銆
聽 聽 public static Singleton getInstance() {銆銆銆銆
聽 聽 聽 return instance; 銆銆銆銆
聽 } 聽 聽
}





絎簩縐嶅艦寮?

CODE:

public class Singleton { 銆銆
聽 private static Singleton instance = null;銆銆
聽 public static synchronized Singleton getInstance() {銆銆
聽 //榪欎釜鏂規硶姣斾笂闈㈡湁鎵鏀硅繘錛屼笉鐢ㄦ瘡嬈¢兘榪涜鐢熸垚瀵硅薄錛屽彧鏄涓嬈°銆銆 銆銆銆
聽 //浣跨敤鏃剁敓鎴愬疄渚嬶紝鎻愰珮浜嗘晥鐜囷紒銆銆
聽 if (instance==null)銆銆銆銆
聽 聽 聽 instance錛漬ew Singleton();銆銆
聽 聽 聽 return instance; 銆銆
聽 }
}




浣跨敤Singleton.getInstance()鍙互璁塊棶鍗曟佺被銆?br />
涓婇潰絎簩涓艦寮忔槸lazy initialization錛屼篃灝辨槸璇寸涓嬈¤皟鐢ㄦ椂鍒濆Singleton錛屼互鍚庡氨涓嶇敤鍐嶇敓鎴愪簡銆?br />
娉ㄦ剰鍒發azy initialization褰㈠紡涓殑synchronized錛岃繖涓猻ynchronized寰堥噸瑕侊紝濡傛灉娌℃湁synchronized錛岄偅涔堜嬌鐢╣etInstance()鏄湁鍙兘寰楀埌澶氫釜Singleton瀹炰緥銆傚叧浜巐azy initialization鐨凷ingleton鏈夊緢澶氭秹鍙奷ouble-checked locking (DCL)鐨勮璁猴紝鏈夊叴瓚h呰繘涓姝ョ爺絀躲?br />
涓鑸涓虹涓縐嶅艦寮忚鏇村姞瀹夊叏浜涖?br />

浣跨敤Singleton娉ㄦ剰浜嬮」錛?br />鏈夋椂鍦ㄦ煇浜涙儏鍐典笅錛屼嬌鐢⊿ingleton騫朵笉鑳借揪鍒癝ingleton鐨勭洰鐨勶紝濡傛湁澶氫釜Singleton瀵硅薄鍚屾椂琚笉鍚岀殑綾昏鍏ュ櫒瑁呰澆錛涘湪EJB榪欐牱鐨勫垎甯冨紡緋葷粺涓嬌鐢ㄤ篃瑕佹敞鎰忚繖縐嶆儏鍐碉紝鍥犱負EJB鏄法鏈嶅姟鍣紝璺↗VM鐨勩?br />
鎴戜滑浠UN鍏徃鐨勫疇鐗╁簵婧愮爜(Pet Store 1.3.1)鐨凷erviceLocator涓轟緥紼嶅井鍒嗘瀽涓涓嬶細

鍦≒et Store涓璖erviceLocator鏈変袱縐嶏紝涓涓槸EJB鐩綍涓嬶紱涓涓槸WEB鐩綍涓嬶紝鎴戜滑媯鏌ヨ繖涓や釜ServiceLocator浼氬彂鐜板唴瀹瑰樊涓嶅錛岄兘鏄彁渚汦JB鐨勬煡璇㈠畾浣嶆湇鍔★紝鍙槸涓轟粈涔堣鍒嗗紑鍛紵浠旂粏鐮旂┒瀵硅繖涓ょServiceLocator鎵嶅彂鐜板尯鍒細鍦╓EB涓殑ServiceLocator鐨勯噰鍙朣ingleton妯″紡錛孲erviceLocator灞炰簬璧勬簮瀹氫綅錛岀悊鎵褰撶劧搴旇浣跨敤Singleton妯″紡銆備絾鏄湪EJB涓紝Singleton妯″紡宸茬粡澶卞幓浣滅敤錛屾墍浠erviceLocator鎵嶅垎鎴愪袱縐嶏紝涓縐嶉潰鍚慦EB鏈嶅姟鐨勶紝涓縐嶆槸闈㈠悜EJB鏈嶅姟鐨勩?br />
Singleton妯″紡鐪嬭搗鏉ョ畝鍗曪紝浣跨敤鏂規硶涔熷緢鏂逛究錛屼絾鏄湡姝g敤濂斤紝鏄潪甯鎬笉瀹規槗錛岄渶瑕佸Java鐨勭被 綰跨▼ 鍐呭瓨絳夋蹇墊湁鐩稿綋鐨勪簡瑙c?br />



澶уぇ 2007-03-13 20:25 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 墨竹工卡县| 南昌市| 宁远县| 阿克陶县| 茂名市| 恭城| 闸北区| 平湖市| 中方县| 汕头市| 昌都县| 石河子市| 斗六市| 清镇市| 册亨县| 平乐县| 沙坪坝区| 长葛市| 锡林浩特市| 曲沃县| 尉犁县| 项城市| 罗城| 竹溪县| 肥乡县| 茶陵县| 喀什市| 旌德县| 黔南| 丹东市| 枝江市| 巫溪县| 太保市| 沽源县| 怀远县| 无锡市| 溧水县| 瓦房店市| 四子王旗| 揭西县| 英德市|