锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
聽* 涓涓槸瀛楅潰瀛楃涓詫紙榪欎釜鍙互浠庢睜涓彇錛屾垨鑰呯敓鎴愭柊瀛楃涓插璞★紝騫舵墸鐣欏埌姹犱腑錛夛紝鐒跺悗鍦ㄥ皢榪欎釜瀛楃涓插璞?br />聽* 鐨勫間紶緇檔ew鍑烘潵鐨勫瓧絎︿覆瀵硅薄鐨勬瀯閫犲櫒錛岀敓鎴愪竴涓柊瀛楃涓插璞★紙榪欎釜瀛楃涓叉槸娌℃湁鎵g暀鍒版睜涓殑錛夛紝璁頒綇new鍏抽敭瀛楁繪槸鐢熸垚浜嗗璞°?br />聽* 鑰屾垜浠粰榪欎釜new鍑虹殑瀛楃涓茶皟鐢╥ntern()鏂規硶錛屽氨浼氭妸榪欎釜瀛楃涓插璞℃墸鐣欏埌姹犱腑錛岃屼笖濡傛灉姹犱腑鏈夌浉鍚岀殑瀛楅潰鍊肩殑瀛楃涓詫紝
聽* 灝變細榪斿洖姹犱腑鐨勫瓧絎︿覆錛屽鏋滄垜浠皢璇ュ瓧絎︿覆寮曠敤璧嬬粰鍘熷厛瀛楃涓茬殑寮曠敤鍙橀噺錛岄偅涔堟垜浠氨浼氱渷鍘諱竴涓璞★紝鍘熷厛鐨勫瓧絎︿覆瀵硅薄灝變細琚煇涓涓椂鍒誨洖鏀訛紝
聽* 濡傛灉姹犱腑娌℃湁鐩稿悓鍊肩殑瀛楃涓插氨榪斿洖璇ュ璞¤嚜韜?img src ="http://www.tkk7.com/vagasnail/aggbug/301146.html" width = "1" height = "1" />
]]>
鎴戠殑鐞嗚В錛?/span>
1
錛庡敖閲忎笉瑕佸湪鍙戝竷鐨勭▼搴忎腑浣跨敤鎵撳嵃璋冪敤鏍堢殑淇℃伅澶勭悊寮傚父錛屽洜涓鴻繖鏍峰湪鍙戝竷鐨勭▼搴忎腑鏍規湰涓嶅彲瑙侊紝灝卞鍚屽拷鐣ュ鐞嗗紓甯鎬竴鏍楓傝屾槸瑕佷箞灝嗗叾澶勭悊錛岃涔堝皢鍏跺寘瑁呭悗鎶涘嚭錛屾垜浠浜庡鎴風涓嶈兘澶勭悊錛屼篃娌″繀瑕佸鐞嗙殑寮傚父閫氬父鍖呰涓?/span>
RuntimeExcepion
銆?span style="COLOR: #3f7f5f">榪欐牱瀹㈡埛紼嬪簭鍙互閫夋嫨鏄惁鑾峰彇鍏跺紓甯鎬俊鎭紝緇欏鎴風▼搴忎竴涓夋嫨澶勭悊鐨勬満浼氥傚錛氭樉紺哄埌瀹㈡埛绔傛洿涓嶈蹇界暐寮傚父錛岃浣忓彧鎵撳嵃璋冪敤鍫嗘爤鍜屽拷鐣ュ紓甯告槸絳変環鐨勶紝褰撶劧寮鍙戝強璋冭瘯鐨勬椂鍊欓櫎澶栥?/span>
2
錛庡洜涓哄紓甯告槸闈炲父娑堣楄祫婧愮殑錛屾墍浠ヤ笉瑕佷嬌鐢ㄥ紓甯稿仛嫻佺▼鎺у埗銆?/span>
3
錛庢繪槸浼樺厛浣跨敤
UnCheckedException
銆?/span>
4
錛庝笉瑕佽嚜瀹氫箟榪囧鐨勫紓甯哥被錛屽洜涓?/span>
Java
鐨勫紓甯鎬俊鎭凡緇忓皢榪欎釜寮傚父鎻忚堪寰楀娓呮櫚浜嗐傝涔堜嬌榪欎釜寮傚父綾繪壙鎷呮洿澶氱殑璐d換銆?/span>
5.
涓嶈灝嗚繃澶氱殑浠g爜鍐欏叆鍒頒竴涓?/span>
try
璇彞涓紝閫氬父
try
璇彞鍙寘鍚渶瑕佸鐞嗙殑浠g爜銆?/span>
6. Checked
寮傚父鍙槸涓轟簡浣跨▼搴忓憳鍐欏嚭鏇村仴澹殑浠g爜鑰屽彂鏄庣殑銆備絾鏄敱浜庤璁$殑澶辮瀵逛簬涓浜涙棤娉曟仮澶嶏紝鎴栬呭緢闅炬仮澶嶇殑寮傚父涔熶綔涓?/span>
Checked
寮傚父
錛?span style="COLOR: #3f7f5f">鏄竴涓敊璇殑鍐沖畾銆備簨瀹炶瘉鏄庝笉閫傜敤鐨?/span>
Checked
寮傚父鐨?/span>
C++
鍜?/span>
C#
鐨勫紓甯稿鐞嗘満鍒舵瘮
Java
鏇存垚鍔熴?/span>
7.
涓嶈鍦ㄧ▼搴忎腑鍖呭惈榪囧鐨勫紓甯稿鐞嗚鍙ワ紝榪欐牱浼氫嬌浣犵殑璇彞闅句互鐞嗚В錛屼細浣夸綘鐨勭▼搴忕殑鏁堢巼鍙樻參銆傚彧鍦ㄩ渶瑕佺殑澶勭悊鐨勫湴鏂瑰鐞嗗紓甯?/span>
8.
涓嶈鎶婂簳灞傜殑寮傚父鎶涚粰涓氬姟灞傦紝瑕佷箞澶勭悊瑕佷箞鍖呰鍚庢姏緇欎笟鍔″眰銆傚洜涓轟笟鍔″眰涓嶅叧蹇冭繖涓?/span>
9. 瀵逛簬鑳藉鐞嗙殑寮傚父灝介噺澶勭悊錛屽惁鍒欐姏鍑恒備紭鍏堣冭檻 RuntimeExcepion 鍖呰銆?/span>
ClassLoader鐨勬満鍒訛細
Bootstrap ClassLoader/鍚姩綾誨姞杞藉櫒
涓昏璐熻矗jdk_home/lib鐩綍涓嬬殑鏍稿績 api 鎴?-Xbootclasspath 閫夐」鎸囧畾鐨刯ar鍖呰鍏ュ伐浣溿?
Extension ClassLoader/鎵╁睍綾誨姞杞藉櫒
涓昏璐熻矗jdk_home/lib/ext鐩綍涓嬬殑jar鍖呮垨 -Djava.ext.dirs 鎸囧畾鐩綍涓嬬殑jar鍖呰鍏ュ伐浣溿?
System ClassLoader/緋葷粺綾誨姞杞藉櫒
涓昏璐熻矗java -classpath/-Djava.class.path鎵鎸囩殑鐩綍涓嬬殑綾諱笌jar鍖呰鍏ュ伐浣溿?
User Custom ClassLoader/鐢ㄦ埛鑷畾涔夌被鍔犺澆鍣?java.lang.ClassLoader鐨勫瓙綾?
鍦ㄧ▼搴忚繍琛屾湡闂? 閫氳繃java.lang.ClassLoader鐨勫瓙綾誨姩鎬佸姞杞絚lass鏂囦歡, 浣撶幇java鍔ㄦ佸疄鏃剁被瑁呭叆鐗規с?/p>
聽聽//getResourceAsStream鍜孋lassLoader.getSystemResourceAsStream鐨勫叧緋?br />聽聽//棣栧厛getResourceAsStream璋冪敤鑷繁鐨凜lassLoader鍔犺澆錛屽鏋滄病鏈夊氨鏄敤ClassLoader.getSystemResourceAsStream
聽聽//鏉ュ姞杞借祫婧愩俫etSystemResourceAsStream浠庡綋鍓岰lassLoader鐨勭被鍔犺澆鎼滅儲璺緞涓煡鎵捐祫婧愩傛墍浠ヤ嬌鐢╣etResourceAsStream
聽聽//涔熷彲浠ュ姞杞藉綋鍓岰lasspath涓殑璧勬簮銆?/p>
聽
5銆乿olatile 淇濊瘉浠諱綍涓涓嚎紼嬪湪璇誨彇涓涓煙鐨勬椂鍊欓兘灝嗕細鐪嬪埌鏈榪戝垰鍒氳鍐欏叆鐨勫箋?br />聽聽 綆鍗曠殑璇磛olatile鎻愪緵synchronized鐨勫彲瑙佹э紝鑰屼笉鎻愪緵浜掓枼鎬с?br />聽* 鎴戞兂volatile錛屾槸榪欑敤鍏抽敭瀛梫olatile淇グ榪囩殑鍙橀噺錛屾斁鍦ㄤ富鍐呭瓨涓屼笉鏄嚎紼嬬殑宸ヤ綔鍐呭瓨
聽* 榪欐牱姣忔褰撹鍙橀噺鐨勫兼敼鍙樼殑鏃跺欙紝灝變細鍦ㄤ富鍐呭瓨涓敼鍙樸?br />聽* 鑰屼竴鑸殑鍙橀噺錛屽皢浼氬湪綰跨▼鐨勫伐浣滃唴瀛樹腑淇濇寔涓浠芥嫹璐濓紝鐒跺悗鍙湪閫傚綋鐨勬椂鏈猴紝鎵嶄細灝嗗彉鍖栧啓鍏ュ埌涓誨唴瀛?br />聽* 瀵逛簬鍚屾鍧楄岃█錛岃繖涓椂鏈哄氨鏄悓姝ュ潡寮濮嬫垨緇撴潫錛岃屽叾瀹冪殑鏃舵満錛屾垜鎯蟲槸鍦ㄥ綋鍓嶄嬌鐢ㄨ鍙橀噺璇彞鍚庛?br />聽* 褰撶劧volatile鍙橀噺涓嶄繚璇佸師瀛愭э紙涔熷氨鏄痸olatile鍙橀噺鐨勪嬌鐢紝鍙兘琚叾瀹冪殑綰跨▼騫叉壈錛屾瘮濡備袱涓嚎紼嬪悓鏃跺璇ュ彉閲忔搷浣滐紝浣嗘槸瑕佸湪楂樺帇鐨勬儏鍐典笅鎵嶈兘鍑虹幇,瑕佸疄鐜板師瀛愭у繀欏誨璇ュ彉閲忓姞閿併傦級錛屼粎淇濊瘉鍙鎬э紙鎬繪槸寰楀埌鏈鏂頒慨鏀圭殑鍊鹼級銆?/p>
6銆佽綆楁満鏃犳硶榪涜姝g‘鐨勬誕鐐硅繍綆楋紝鍥犱負璁$畻鏈烘槸浜岃繘鍒剁殑錛屾垜浠湪 Java 涓彲浠ヤ嬌鐢˙igDecimal銆乮nt鎴栬卨ong榪涜嫻偣榪愮畻錛岃繖鏍峰彲浠ュ緱鍒板噯紜殑緇撴灉銆?br />7銆佷笉瑕佷嬌鐢ㄥ瓧絎︿覆榪炴帴鎿嶄綔絎︽潵榪炴帴瀛楃涓詫紝闄ら潪鎬ц兘鏃犲叧绱ц錛屽惁鍒欎嬌鐢⊿tringBuffer涓殑append鏂規硶錛屾垨鑰呬嬌鐢ㄦ洿濂界殑StringBuilder銆?br />聽(閫氬父搴旇浼樺厛浣跨敤 StringBuilder 綾伙紝鍥犱負瀹冩敮鎸佹墍鏈夌浉鍚岀殑鎿嶄綔錛屼絾鐢變簬瀹冧笉鎵ц鍚屾錛屾墍浠ラ熷害鏇村揩)銆?br />8銆佹坊鍔爅oin鍚庡綋鍓嶇嚎紼嬪繀欏昏絳夊緟璇ョ嚎紼嬬粨鏉熷悗鍦ㄦ墽琛岋紝涔熷氨鏄皢璇ョ嚎紼嬪姞鍏ュ埌褰撳墠綰跨▼榪愯鍛ㄦ湡涔嬪唴
9銆佸鏋滀笉鎯寵鎭舵剰鏀誨嚮錛岃浣跨敤縐佹湁鐨勫璞$洃瑙嗗櫒銆傛案榪滀笉瑕佷嬌鐢ㄧ嚎紼嬬粍ThreadGroup銆?br />10銆乻erialVersionUID 琛ㄧず涓涓彲搴忓垪鍖栫殑綾葷殑鐗堟湰淇℃伅錛屾垜浠簲璇ユ繪槸鎻愪緵涓涓墜鍔ㄧ殑serialVersionUID錛岃屼笉鏄敱緋葷粺鑷姩鐢熸垚銆傝繖鏍峰彲浠ヤ繚璇?br />聽綾葷殑鍏煎鎬у拰鑺傜渷鐣ュ井鐨勬ц兘寮閿銆?br />11銆佸簲璇ユ繪槸瀹炵幇鑷畾涔夌殑搴忓垪鍖栵紝闄ら潪涓涓璞$殑鐗╃悊緇撴瀯鍜岄昏緫緇撴瀯寮忎竴鏍風殑錛屽嵆浣挎槸榪欐牱鎴戜滑鏈濂戒篃鐢ㄨ嚜瀹氫箟鐨勫簭鍒楀寲錛屾彁渚涗竴涓猺eadObject鏂規硶鏉?br />聽淇濊瘉綰︽潫鍏崇郴鍜屽畨鍏ㄦс?br />12銆佷負浜嗗疄鐜板簭鍒楀寲鐨凷ingleton錛岄偅涔堟垜浠簲褰撴彁渚涗竴涓猺eadResolve鏂規硶銆?br />13銆佷粠鏈川涓婃潵璁詫紝readResolve鏂規硶灝唕eadObject浠庝簨瀹炰笂鐨勫叕鏈夋瀯閫犲嚱鏁板彉鎴愪簨瀹炰笂鐨勫叕鏈夐潤鎬佸伐鍘傦紙閽堝浜庡弽搴忓垪鍖栨槸浜х敓鐨勫璞★級銆偮犅?