Java铏氭嫙鏈虹殑娣卞叆鐮旂┒
浣滆咃細鍒樺瓚?
1聽聽Java鎶鏈笌Java铏氭嫙鏈?
璇磋搗Java錛屼漢浠鍏堟兂鍒扮殑鏄疛ava緙栫▼璇█錛岀劧鑰屼簨瀹炰笂錛孞ava鏄竴縐嶆妧鏈紝瀹冪敱鍥涙柟闈㈢粍鎴? Java緙栫▼璇█銆丣ava綾繪枃浠舵牸寮忋丣ava铏氭嫙鏈哄拰Java搴旂敤紼嬪簭鎺ュ彛(Java API)銆傚畠浠殑鍏崇郴濡備笅鍥炬墍紺猴細
鍥?聽聽Java鍥涗釜鏂歸潰鐨勫叧緋?
榪愯鏈熺幆澧冧唬琛ㄧ潃Java騫沖彴錛屽紑鍙戜漢鍛樼紪鍐橨ava浠g爜(.java鏂囦歡)錛岀劧鍚庡皢涔嬬紪璇戞垚瀛楄妭鐮?.class鏂囦歡)銆傛渶鍚庡瓧鑺傜爜琚鍏ュ唴瀛橈紝涓鏃﹀瓧鑺傜爜榪涘叆铏氭嫙鏈猴紝瀹冨氨浼氳瑙i噴鍣ㄨВ閲婃墽琛岋紝鎴栬呮槸琚嵆鏃朵唬鐮佸彂鐢熷櫒鏈夐夋嫨鐨勮漿鎹㈡垚鏈哄櫒鐮佹墽琛屻備粠涓婂浘涔熷彲浠ョ湅鍑篔ava騫沖彴鐢盝ava铏氭嫙鏈哄拰Java搴旂敤紼嬪簭鎺ュ彛鎼緩錛孞ava璇█鍒欐槸榪涘叆榪欎釜騫沖彴鐨勯氶亾錛岀敤Java璇█緙栧啓騫剁紪璇戠殑紼嬪簭鍙互榪愯鍦ㄨ繖涓鉤鍙頒笂銆傝繖涓鉤鍙扮殑緇撴瀯濡備笅鍥炬墍紺猴細
鍦↗ava騫沖彴鐨勭粨鏋勪腑, 鍙互鐪嬪嚭錛孞ava铏氭嫙鏈?JVM) 澶勫湪鏍稿績鐨勪綅緗紝鏄▼搴忎笌搴曞眰鎿嶄綔緋葷粺鍜岀‖浠舵棤鍏崇殑鍏抽敭銆傚畠鐨勪笅鏂規槸縐繪鎺ュ彛錛岀Щ妞嶆帴鍙g敱涓ら儴鍒嗙粍鎴愶細閫傞厤鍣ㄥ拰Java鎿嶄綔緋葷粺, 鍏朵腑渚濊禆浜庡鉤鍙扮殑閮ㄥ垎縐頒負閫傞厤鍣紱JVM 閫氳繃縐繪鎺ュ彛鍦ㄥ叿浣撶殑騫沖彴鍜屾搷浣滅郴緇熶笂瀹炵幇錛涘湪JVM 鐨勪笂鏂規槸Java鐨勫熀鏈被搴撳拰鎵╁睍綾誨簱浠ュ強瀹冧滑鐨凙PI錛?鍒╃敤Java API緙栧啓鐨勫簲鐢ㄧ▼搴?application) 鍜屽皬紼嬪簭(Java applet) 鍙互鍦ㄤ換浣旿ava騫沖彴涓婅繍琛岃屾棤闇鑰冭檻搴曞眰騫沖彴, 灝辨槸鍥犱負鏈塉ava铏氭嫙鏈?JVM)瀹炵幇浜嗙▼搴忎笌鎿嶄綔緋葷粺鐨勫垎紱伙紝浠庤屽疄鐜頒簡Java 鐨勫鉤鍙版棤鍏蟲с?
閭d箞鍒板簳浠涔堟槸Java铏氭嫙鏈?JVM)鍛紵閫氬父鎴戜滑璋堣JVM鏃訛紝鎴戜滑鐨勬剰鎬濆彲鑳芥槸錛?
- 瀵笿VM瑙勮寖鐨勭殑姣旇緝鎶借薄鐨勮鏄庯紱
- 瀵笿VM鐨勫叿浣撳疄鐜幫紱
- 鍦ㄧ▼搴忚繍琛屾湡闂存墍鐢熸垚鐨勪竴涓狫VM瀹炰緥銆?
瀵笿VM瑙勮寖鐨勭殑鎶借薄璇存槑鏄竴浜涙蹇電殑闆嗗悎錛屽畠浠凡緇忓湪涔︺奣he Java Virtual Machine Specification銆嬶紙銆奐ava铏氭嫙鏈鴻鑼冦嬶級涓璇︾粏鍦版弿榪頒簡錛涘JVM鐨勫叿浣撳疄鐜拌涔堟槸杞歡錛岃涔堟槸杞歡鍜岀‖浠剁殑緇勫悎錛屽畠宸茬粡琚澶氱敓浜у巶鍟嗘墍瀹炵幇錛屽茍瀛樺湪浜庡縐嶅鉤鍙頒箣涓婏紱榪愯Java紼嬪簭鐨勪換鍔$敱JVM鐨勮繍琛屾湡瀹炰緥鍗曚釜鎵挎媴銆傚湪鏈枃涓垜浠墍璁ㄨ鐨凧ava铏氭嫙鏈?JVM)涓昏閽堝絎笁縐嶆儏鍐佃岃█銆傚畠鍙互琚湅鎴愪竴涓兂璞′腑鐨勬満鍣紝鍦ㄥ疄闄呯殑璁$畻鏈轟笂閫氳繃杞歡妯℃嫙鏉ュ疄鐜幫紝鏈夎嚜宸辨兂璞′腑鐨勭‖浠訛紝濡傚鐞嗗櫒銆佸爢鏍堛佸瘎瀛樺櫒絳夛紝榪樻湁鑷繁鐩稿簲鐨勬寚浠ょ郴緇熴?
JVM鍦ㄥ畠鐨勭敓瀛樺懆鏈熶腑鏈変竴涓槑紜殑浠誨姟錛岄偅灝辨槸榪愯Java紼嬪簭錛屽洜姝ゅ綋Java紼嬪簭鍚姩鐨勬椂鍊欙紝灝變駭鐢烰VM鐨勪竴涓疄渚嬶紱褰撶▼搴忚繍琛岀粨鏉熺殑鏃跺欙紝璇ュ疄渚嬩篃璺熺潃娑堝け浜嗐備笅闈㈡垜浠粠JVM鐨勪綋緋葷粨鏋勫拰瀹冪殑榪愯榪囩▼榪欎袱涓柟闈㈡潵瀵瑰畠榪涜姣旇緝娣卞叆鐨勭爺絀躲?
2聽聽Java铏氭嫙鏈虹殑浣撶郴緇撴瀯
鍒氭墠宸茬粡鎻愬埌錛孞VM鍙互鐢變笉鍚岀殑鍘傚晢鏉ュ疄鐜般傜敱浜庡巶鍟嗙殑涓嶅悓蹇呯劧瀵艱嚧JVM鍦ㄥ疄鐜頒笂鐨勪竴浜涗笉鍚岋紝鐒惰孞VM榪樻槸鍙互瀹炵幇璺ㄥ鉤鍙扮殑鐗規э紝榪欏氨瑕佸綊鍔熶簬璁捐JVM鏃剁殑浣撶郴緇撴瀯浜嗐?
鎴戜滑鐭ラ亾錛屼竴涓狫VM瀹炰緥鐨勮涓轟笉鍏夋槸瀹冭嚜宸辯殑浜嬶紝榪樻秹鍙婂埌瀹冪殑瀛愮郴緇熴佸瓨鍌ㄥ尯鍩熴佹暟鎹被鍨嬪拰鎸囦護榪欎簺閮ㄥ垎錛屽畠浠弿榪頒簡JVM鐨勪竴涓娊璞$殑鍐呴儴浣撶郴緇撴瀯錛屽叾鐩殑涓嶅厜瑙勫畾瀹炵幇JVM鏃跺畠鍐呴儴鐨勪綋緋葷粨鏋勶紝鏇撮噸瑕佺殑鏄彁渚涗簡涓縐嶆柟寮忥紝鐢ㄤ簬涓ユ牸瀹氫箟瀹炵幇鏃剁殑澶栭儴琛屼負銆傛瘡涓狫VM閮芥湁涓ょ鏈哄埗錛屼竴涓槸瑁呰澆鍏鋒湁鍚堥傚悕縐扮殑綾?綾繪垨鏄帴鍙?錛屽彨鍋氱被瑁呰澆瀛愮郴緇燂紱鍙﹀鐨勪竴涓礋璐f墽琛屽寘鍚湪宸茶杞界殑綾繪垨鎺ュ彛涓殑鎸囦護錛屽彨鍋氳繍琛屽紩鎿庛傛瘡涓狫VM鍙堝寘鎷柟娉曞尯銆佸爢銆丣ava鏍堛佺▼搴忚鏁板櫒鍜屾湰鍦版柟娉曟爤榪欎簲涓儴鍒嗭紝榪欏嚑涓儴鍒嗗拰綾昏杞芥満鍒朵笌榪愯寮曟搸鏈哄埗涓璧風粍鎴愮殑浣撶郴緇撴瀯鍥句負錛?
鍥?聽聽JVM鐨勪綋緋葷粨鏋?
JVM鐨勬瘡涓疄渚嬮兘鏈変竴涓畠鑷繁鐨勬柟娉曞煙鍜屼竴涓爢錛岃繍琛屼簬JVM鍐呯殑鎵鏈夌殑綰跨▼閮藉叡浜繖浜涘尯鍩燂紱褰撹櫄鎷熸満瑁呰澆綾繪枃浠剁殑鏃跺欙紝瀹冭В鏋愬叾涓殑浜岃繘鍒舵暟鎹墍鍖呭惈鐨勭被淇℃伅錛屽茍鎶婂畠浠斁鍒版柟娉曞煙涓紱褰撶▼搴忚繍琛岀殑鏃跺欙紝JVM鎶婄▼搴忓垵濮嬪寲鐨勬墍鏈夊璞$疆浜庡爢涓婏紱鑰屾瘡涓嚎紼嬪垱寤虹殑鏃跺欙紝閮戒細鎷ユ湁鑷繁鐨勭▼搴忚鏁板櫒鍜孞ava鏍堬紝鍏朵腑紼嬪簭璁℃暟鍣ㄤ腑鐨勫兼寚鍚戜笅涓鏉″嵆灝嗚鎵ц鐨勬寚浠わ紝綰跨▼鐨凧ava鏍堝垯瀛樺偍涓鴻綰跨▼璋冪敤Java鏂規硶鐨勭姸鎬侊紱鏈湴鏂規硶璋冪敤鐨勭姸鎬佽瀛樺偍鍦ㄦ湰鍦版柟娉曟爤錛岃鏂規硶鏍堜緷璧栦簬鍏蜂綋鐨勫疄鐜般?
涓嬮潰鍒嗗埆瀵硅繖鍑犱釜閮ㄥ垎榪涜璇存槑銆?
鎵ц寮曟搸澶勪簬JVM鐨勬牳蹇冧綅緗紝鍦↗ava铏氭嫙鏈鴻鑼冧腑錛屽畠鐨勮涓烘槸鐢辨寚浠ら泦鎵鍐沖畾鐨勩傚敖綆″浜庢瘡鏉℃寚浠わ紝瑙勮寖寰堣緇嗗湴璇存槑浜嗗綋JVM鎵ц瀛楄妭鐮侀亣鍒版寚浠ゆ椂錛屽畠鐨勫疄鐜板簲璇ュ仛浠涔堬紝浣嗗浜庢庝箞鍋氬嵈璦涔嬬敋灝戙侸ava铏氭嫙鏈烘敮鎸佸ぇ綰?48涓瓧鑺傜爜銆傛瘡涓瓧鑺傜爜鎵ц涓縐嶅熀鏈殑CPU榪愮畻,渚嬪,鎶婁竴涓暣鏁板姞鍒板瘎瀛樺櫒,瀛愮▼搴忚漿縐葷瓑銆侸ava鎸囦護闆嗙浉褰撲簬Java紼嬪簭鐨勬眹緙栬璦銆?
Java鎸囦護闆嗕腑鐨勬寚浠ゅ寘鍚竴涓崟瀛楄妭鐨勬搷浣滅,鐢ㄤ簬鎸囧畾瑕佹墽琛岀殑鎿嶄綔,榪樻湁0涓垨澶氫釜鎿嶄綔鏁?鎻愪緵鎿嶄綔鎵闇鐨勫弬鏁版垨鏁版嵁銆傝澶氭寚浠ゆ病鏈夋搷浣滄暟,浠呯敱涓涓崟瀛楄妭鐨勬搷浣滅鏋勬垚銆?
铏氭嫙鏈虹殑鍐呭眰寰幆鐨勬墽琛岃繃紼嬪涓?
do{
鍙栦竴涓搷浣滅瀛楄妭;
鏍規嵁鎿嶄綔絎︾殑鍊兼墽琛屼竴涓姩浣?
}while(紼嬪簭鏈粨鏉?
鐢變簬鎸囦護緋葷粺鐨勭畝鍗曟?浣垮緱铏氭嫙鏈烘墽琛岀殑榪囩▼鍗佸垎綆鍗?浠庤屾湁鍒╀簬鎻愰珮鎵ц鐨勬晥鐜囥傛寚浠や腑鎿嶄綔鏁扮殑鏁伴噺鍜屽ぇ灝忔槸鐢辨搷浣滅鍐沖畾鐨勩傚鏋滄搷浣滄暟姣斾竴涓瓧鑺傚ぇ,閭d箞瀹冨瓨鍌ㄧ殑欏哄簭鏄珮浣嶅瓧鑺備紭鍏堛備緥濡?涓涓?6浣嶇殑鍙傛暟瀛樻斁鏃跺崰鐢ㄤ袱涓瓧鑺?鍏跺間負:
絎竴涓瓧鑺?256+絎簩涓瓧鑺傚瓧鑺傜爜銆?
鎸囦護嫻佷竴鑸彧鏄瓧鑺傚榻愮殑銆傛寚浠ableswitch鍜宭ookup鏄緥澶?鍦ㄨ繖涓ゆ潯鎸囦護鍐呴儴瑕佹眰寮哄埗鐨?瀛楄妭杈圭晫瀵歸綈銆?
瀵逛簬鏈湴鏂規硶鎺ュ彛錛屽疄鐜癑VM騫朵笉瑕佹眰涓瀹氳鏈夊畠鐨勬敮鎸侊紝鐢氳嚦鍙互瀹屽叏娌℃湁銆係un鍏徃瀹炵幇Java鏈湴鎺ュ彛(JNI)鏄嚭浜庡彲縐繪鎬х殑鑰冭檻錛屽綋鐒舵垜浠篃鍙互璁捐鍑哄叾瀹冪殑鏈湴鎺ュ彛鏉ヤ唬鏇縎un鍏徃鐨凧NI銆備絾鏄繖浜涜璁′笌瀹炵幇鏄瘮杈冨鏉傜殑浜嬫儏錛岄渶瑕佺‘淇濆瀮鍦懼洖鏀跺櫒涓嶄細灝嗛偅浜涙鍦ㄨ鏈湴鏂規硶璋冪敤鐨勫璞¢噴鏀炬帀銆?
Java鐨勫爢鏄竴涓繍琛屾椂鏁版嵁鍖?綾葷殑瀹炰緥(瀵硅薄)浠庝腑鍒嗛厤絀洪棿錛屽畠鐨勭鐞嗘槸鐢卞瀮鍦懼洖鏀舵潵璐熻矗鐨?涓嶇粰紼嬪簭鍛樻樉寮忛噴鏀懼璞$殑鑳藉姏銆侸ava涓嶈瀹氬叿浣撲嬌鐢ㄧ殑鍨冨溇鍥炴敹綆楁硶,鍙互鏍規嵁緋葷粺鐨勯渶姹備嬌鐢ㄥ悇縐嶅悇鏍風殑綆楁硶銆?
Java鏂規硶鍖轟笌浼犵粺璇█涓殑緙栬瘧鍚庝唬鐮佹垨鏄疷nix榪涚▼涓殑姝f枃孌電被浼箋傚畠淇濆瓨鏂規硶浠g爜(緙栬瘧鍚庣殑java浠g爜)鍜岀鍙瘋〃銆傚湪褰撳墠鐨凧ava瀹炵幇涓?鏂規硶浠g爜涓嶅寘鎷湪鍨冨溇鍥炴敹鍫嗕腑,浣嗚鍒掑湪灝嗘潵鐨勭増鏈腑瀹炵幇銆傛瘡涓被鏂囦歡鍖呭惈浜嗕竴涓狫ava綾繪垨涓涓狫ava鐣岄潰鐨勭紪璇戝悗鐨勪唬鐮併傚彲浠ヨ綾繪枃浠舵槸Java璇█鐨勬墽琛屼唬鐮佹枃浠躲備負浜嗕繚璇佺被鏂囦歡鐨勫鉤鍙版棤鍏蟲?Java铏氭嫙鏈鴻鑼冧腑瀵圭被鏂囦歡鐨勬牸寮忎篃浣滀簡璇︾粏鐨勮鏄庛傚叾鍏蜂綋緇嗚妭璇峰弬鑰僑un鍏徃鐨凧ava铏氭嫙鏈鴻鑼冦?
Java铏氭嫙鏈虹殑瀵勫瓨鍣ㄧ敤浜庝繚瀛樻満鍣ㄧ殑榪愯鐘舵?涓庡井澶勭悊鍣ㄤ腑鐨勬煇浜涗笓鐢ㄥ瘎瀛樺櫒綾諱技銆侸ava铏氭嫙鏈虹殑瀵勫瓨鍣ㄦ湁鍥涚:
- pc: Java紼嬪簭璁℃暟鍣紱
- optop: 鎸囧悜鎿嶄綔鏁版爤欏剁鐨勬寚閽堬紱
- frame: 鎸囧悜褰撳墠鎵ц鏂規硶鐨勬墽琛岀幆澧冪殑鎸囬拡錛涖?
- vars: 鎸囧悜褰撳墠鎵ц鏂規硶鐨勫眬閮ㄥ彉閲忓尯絎竴涓彉閲忕殑鎸囬拡銆?
鍦ㄤ笂榪頒綋緋葷粨鏋勫浘涓紝鎴戜滑鎵璇寸殑鏄涓縐嶏紝鍗崇▼搴忚鏁板櫒錛屾瘡涓嚎紼嬩竴鏃﹁鍒涘緩灝辨嫢鏈変簡鑷繁鐨勭▼搴忚鏁板櫒銆傚綋綰跨▼鎵цJava鏂規硶鐨勬椂鍊欙紝瀹冨寘鍚綰跨▼姝e湪琚墽琛岀殑鎸囦護鐨勫湴鍧銆備絾鏄嫢綰跨▼鎵ц鐨勬槸涓涓湰鍦扮殑鏂規硶錛岄偅涔堢▼搴忚鏁板櫒鐨勫煎氨涓嶄細琚畾涔夈?
Java铏氭嫙鏈虹殑鏍堟湁涓変釜鍖哄煙:灞閮ㄥ彉閲忓尯銆佽繍琛岀幆澧冨尯銆佹搷浣滄暟鍖恒?
灞閮ㄥ彉閲忓尯
姣忎釜Java鏂規硶浣跨敤涓涓浐瀹氬ぇ灝忕殑灞閮ㄥ彉閲忛泦銆傚畠浠寜鐓т笌vars瀵勫瓨鍣ㄧ殑瀛楀亸縐婚噺鏉ュ鍧銆傚眬閮ㄥ彉閲忛兘鏄?2浣嶇殑銆傞暱鏁存暟鍜屽弻綺懼害嫻偣鏁板崰鎹簡涓や釜灞閮ㄥ彉閲忕殑絀洪棿,鍗存寜鐓х涓涓眬閮ㄥ彉閲忕殑绱㈠紩鏉ュ鍧銆?渚嬪,涓涓叿鏈夌儲寮昻鐨勫眬閮ㄥ彉閲?濡傛灉鏄竴涓弻綺懼害嫻偣鏁?閭d箞瀹冨疄闄呭崰鎹簡绱㈠紩n鍜宯+1鎵浠h〃鐨勫瓨鍌ㄧ┖闂?铏氭嫙鏈鴻鑼冨茍涓嶈姹傚湪灞閮ㄥ彉閲忎腑鐨?4浣嶇殑鍊兼槸64浣嶅榻愮殑銆傝櫄鎷熸満鎻愪緵浜嗘妸灞閮ㄥ彉閲忎腑鐨勫艱杞藉埌鎿嶄綔鏁版爤鐨勬寚浠?涔熸彁渚涗簡鎶婃搷浣滄暟鏍堜腑鐨勫煎啓鍏ュ眬閮ㄥ彉閲忕殑鎸囦護銆?
榪愯鐜鍖?
鍦ㄨ繍琛岀幆澧冧腑鍖呭惈鐨勪俊鎭敤浜庡姩鎬侀摼鎺?姝e父鐨勬柟娉曡繑鍥炰互鍙婂紓甯告崟鎹夈?
鍔ㄦ侀摼鎺?/b>
榪愯鐜鍖呮嫭瀵規寚鍚戝綋鍓嶇被鍜屽綋鍓嶆柟娉曠殑瑙i噴鍣ㄧ鍙瘋〃鐨勬寚閽?鐢ㄤ簬鏀寔鏂規硶浠g爜鐨勫姩鎬侀摼鎺ャ傛柟娉曠殑class鏂囦歡浠g爜鍦ㄥ紩鐢ㄨ璋冪敤鐨勬柟娉曞拰瑕佽闂殑鍙橀噺鏃朵嬌鐢ㄧ鍙楓傚姩鎬侀摼鎺ユ妸絎﹀彿褰㈠紡鐨勬柟娉曡皟鐢ㄧ炕璇戞垚瀹為檯鏂規硶璋冪敤,瑁呰澆蹇呰鐨勭被浠ヨВ閲婅繕娌℃湁瀹氫箟鐨勭鍙?騫舵妸鍙橀噺璁塊棶緲昏瘧鎴愪笌榪欎簺鍙橀噺榪愯鏃剁殑瀛樺偍緇撴瀯鐩稿簲鐨勫亸縐誨湴鍧銆傚姩鎬侀摼鎺ユ柟娉曞拰鍙橀噺浣垮緱鏂規硶涓嬌鐢ㄧ殑鍏跺畠綾葷殑鍙樺寲涓嶄細褰卞搷鍒版湰紼嬪簭鐨勪唬鐮併?
姝e父鐨勬柟娉曡繑鍥?/b>
濡傛灉褰撳墠鏂規硶姝e父鍦扮粨鏉熶簡,鍦ㄦ墽琛屼簡涓鏉″叿鏈夋紜被鍨嬬殑榪斿洖鎸囦護鏃?璋冪敤鐨勬柟娉曚細寰楀埌涓涓繑鍥炲箋傛墽琛岀幆澧冨湪姝e父榪斿洖鐨勬儏鍐典笅鐢ㄤ簬鎭㈠璋冪敤鑰呯殑瀵勫瓨鍣?騫舵妸璋冪敤鑰呯殑紼嬪簭璁℃暟鍣ㄥ鍔犱竴涓伆褰撶殑鏁板?浠ヨ煩榪囧凡鎵ц榪囩殑鏂規硶璋冪敤鎸囦護,鐒跺悗鍦ㄨ皟鐢ㄨ呯殑鎵ц鐜涓戶緇墽琛屼笅鍘匯?
寮傚父鎹曟崏
寮傚父鎯呭喌鍦↗ava涓縐頒綔Error(閿欒)鎴朎xception(寮傚父),鏄疶hrowable綾葷殑瀛愮被,鍦ㄧ▼搴忎腑鐨勫師鍥犳槸:鈶犲姩鎬侀摼鎺ラ敊,濡傛棤娉曟壘鍒版墍闇鐨刢lass鏂囦歡銆傗憽榪愯鏃墮敊,濡傚涓涓┖鎸囬拡鐨勫紩鐢ㄣ傜▼搴忎嬌鐢ㄤ簡throw璇彞銆?
褰撳紓甯稿彂鐢熸椂,Java铏氭嫙鏈洪噰鍙栧涓嬫帾鏂?
- 媯鏌ヤ笌褰撳墠鏂規硶鐩歌仈緋葷殑catch瀛愬彞琛ㄣ傛瘡涓猚atch瀛愬彞鍖呭惈鍏舵湁鏁堟寚浠よ寖鍥?鑳藉澶勭悊鐨勫紓甯哥被鍨?浠ュ強澶勭悊寮傚父鐨勪唬鐮佸潡鍦板潃銆?
- 涓庡紓甯哥浉鍖歸厤鐨刢atch瀛愬彞搴旇絎﹀悎涓嬮潰鐨勬潯浠?閫犳垚寮傚父鐨勬寚浠ゅ湪鍏舵寚浠よ寖鍥翠箣鍐?鍙戠敓鐨勫紓甯哥被鍨嬫槸鍏惰兘澶勭悊鐨勫紓甯哥被鍨嬬殑瀛愮被鍨嬨傚鏋滄壘鍒頒簡鍖歸厤鐨刢atch瀛愬彞,閭d箞緋葷粺杞Щ鍒版寚瀹氱殑寮傚父澶勭悊鍧楀鎵ц;濡傛灉娌℃湁鎵懼埌寮傚父澶勭悊鍧?閲嶅瀵繪壘鍖歸厤鐨刢atch瀛愬彞鐨勮繃紼?鐩村埌褰撳墠鏂規硶鐨勬墍鏈夊祵濂楃殑catch瀛愬彞閮借媯鏌ヨ繃銆?
- 鐢變簬铏氭嫙鏈轟粠絎竴涓尮閰嶇殑catch瀛愬彞澶勭戶緇墽琛?鎵浠atch瀛愬彞琛ㄤ腑鐨勯『搴忔槸寰堥噸瑕佺殑銆傚洜涓篔ava浠g爜鏄粨鏋勫寲鐨?鍥犳鎬誨彲浠ユ妸鏌愪釜鏂規硶鐨勬墍鏈夌殑寮傚父澶勭悊鍣ㄩ兘鎸夊簭鎺掑垪鍒頒竴涓〃涓?瀵逛換鎰忓彲鑳界殑紼嬪簭璁℃暟鍣ㄧ殑鍊?閮藉彲浠ョ敤綰挎х殑欏哄簭鎵懼埌鍚堥傜殑寮傚父澶勭悊鍧?浠ュ鐞嗗湪璇ョ▼搴忚鏁板櫒鍊間笅鍙戠敓鐨勫紓甯告儏鍐點?
- 濡傛灉鎵句笉鍒板尮閰嶇殑catch瀛愬彞,閭d箞褰撳墠鏂規硶寰楀埌涓涓?鏈埅鑾峰紓甯?鐨勭粨鏋滃茍榪斿洖鍒板綋鍓嶆柟娉曠殑璋冪敤鑰?濂藉儚寮傚父鍒氬垰鍦ㄥ叾璋冪敤鑰呬腑鍙戠敓涓鏍楓傚鏋滃湪璋冪敤鑰呬腑浠嶇劧娌℃湁鎵懼埌鐩稿簲鐨勫紓甯稿鐞嗗潡,閭d箞榪欑閿欒灝嗚浼犳挱涓嬪幓銆傚鏋滈敊璇浼犳挱鍒版渶欏跺眰,閭d箞緋葷粺灝嗚皟鐢ㄤ竴涓己鐪佺殑寮傚父澶勭悊鍧椼?
鎿嶄綔鏁版爤鍖?
鏈哄櫒鎸囦護鍙粠鎿嶄綔鏁版爤涓彇鎿嶄綔鏁?瀵瑰畠浠繘琛屾搷浣?騫舵妸緇撴灉榪斿洖鍒版爤涓傞夋嫨鏍堢粨鏋勭殑鍘熷洜鏄?鍦ㄥ彧鏈夊皯閲忓瘎瀛樺櫒鎴栭潪閫氱敤瀵勫瓨鍣ㄧ殑鏈哄櫒(濡侷ntel486)涓?涔熻兘澶熼珮鏁堝湴妯℃嫙铏氭嫙鏈虹殑琛屼負銆傛搷浣滄暟鏍堟槸32浣嶇殑銆傚畠鐢ㄤ簬緇欐柟娉曚紶閫掑弬鏁?騫朵粠鏂規硶鎺ユ敹緇撴灉,涔熺敤浜庢敮鎸佹搷浣滅殑鍙傛暟,騫朵繚瀛樻搷浣滅殑緇撴灉銆備緥濡?iadd鎸囦護灝嗕袱涓暣鏁扮浉鍔犮傜浉鍔犵殑涓や釜鏁存暟搴旇鏄搷浣滄暟鏍堥《鐨勪袱涓瓧銆傝繖涓や釜瀛楁槸鐢卞厛鍓嶇殑鎸囦護鍘嬭繘鍫嗘爤鐨勩傝繖涓や釜鏁存暟灝嗕粠鍫嗘爤寮瑰嚭銆佺浉鍔?騫舵妸緇撴灉鍘嬪洖鍒版搷浣滄暟鏍堜腑銆?
姣忎釜鍘熷鏁版嵁綾誨瀷閮芥湁涓撻棬鐨勬寚浠ゅ瀹冧滑榪涜蹇呴』鐨勬搷浣溿傛瘡涓搷浣滄暟鍦ㄦ爤涓渶瑕佷竴涓瓨鍌ㄤ綅緗?闄や簡long鍜宒ouble鍨?瀹冧滑闇瑕佷袱涓綅緗傛搷浣滄暟鍙兘琚傜敤浜庡叾綾誨瀷鐨勬搷浣滅鎵鎿嶄綔銆備緥濡?鍘嬪叆涓や釜int綾誨瀷鐨勬暟,濡傛灉鎶婂畠浠綋浣滄槸涓涓猯ong綾誨瀷鐨勬暟鍒欐槸闈炴硶鐨勩傚湪Sun鐨勮櫄鎷熸満瀹炵幇涓?榪欎釜闄愬埗鐢卞瓧鑺傜爜楠岃瘉鍣ㄥ己鍒跺疄琛屻備絾鏄?鏈夊皯鏁版搷浣?鎿嶄綔絎upe鍜宻wap),鐢ㄤ簬瀵硅繍琛屾椂鏁版嵁鍖鴻繘琛屾搷浣滄椂鏄笉鑰冭檻綾誨瀷鐨勩?
鏈湴鏂規硶鏍堬紝褰撲竴涓嚎紼嬭皟鐢ㄦ湰鍦版柟娉曟椂錛屽畠灝變笉鍐嶅彈鍒拌櫄鎷熸満鍏充簬緇撴瀯鍜屽畨鍏ㄩ檺鍒舵柟闈㈢殑綰︽潫錛屽畠鏃㈠彲浠ヨ闂櫄鎷熸満鐨勮繍琛屾湡鏁版嵁鍖猴紝涔熷彲浠ヤ嬌鐢ㄦ湰鍦板鐞嗗櫒浠ュ強浠諱綍綾誨瀷鐨勬爤銆備緥濡傦紝鏈湴鏍堟槸涓涓狢璇█鐨勬爤錛岄偅涔堝綋C紼嬪簭璋冪敤C鍑芥暟鏃訛紝鍑芥暟鐨勫弬鏁頒互鏌愮欏哄簭琚帇鍏ユ爤錛岀粨鏋滃垯榪斿洖緇欒皟鐢ㄥ嚱鏁般傚湪瀹炵幇Java铏氭嫙鏈烘椂錛屾湰鍦版柟娉曟帴鍙d嬌鐢ㄧ殑鏄疌璇█鐨勬ā鍨嬫爤錛岄偅涔堝畠鐨勬湰鍦版柟娉曟爤鐨勮皟搴︿笌浣跨敤鍒欏畬鍏ㄤ笌C璇█鐨勬爤鐩稿悓銆?
3聽聽Java铏氭嫙鏈虹殑榪愯榪囩▼
涓婇潰瀵硅櫄鎷熸満鐨勫悇涓儴鍒嗚繘琛屼簡姣旇緝璇︾粏鐨勮鏄庯紝涓嬮潰閫氳繃涓涓叿浣撶殑渚嬪瓙鏉ュ垎鏋愬畠鐨勮繍琛岃繃紼嬨?
铏氭嫙鏈洪氳繃璋冪敤鏌愪釜鎸囧畾綾葷殑鏂規硶main鍚姩錛屼紶閫掔粰main涓涓瓧絎︿覆鏁扮粍鍙傛暟錛屼嬌鎸囧畾鐨勭被琚杞斤紝鍚屾椂閾炬帴璇ョ被鎵浣跨敤鐨勫叾瀹冪殑綾誨瀷錛屽茍涓斿垵濮嬪寲瀹冧滑銆備緥濡傚浜庣▼搴忥細
class HelloApp
{
public static void main(String[] args)
{
System.out.println("Hello World!");
for (int i = 0; i < args.length; i++ )
{
System.out.println(args[i]);
}
}
}
緙栬瘧鍚庡湪鍛戒護琛屾ā寮忎笅閿叆錛?java HelloApp run virtual machine
灝嗛氳繃璋冪敤HelloApp鐨勬柟娉昺ain鏉ュ惎鍔╦ava铏氭嫙鏈猴紝浼犻掔粰main涓涓寘鍚笁涓瓧絎︿覆"run"銆?virtual"銆?machine"鐨勬暟緇勩傜幇鍦ㄦ垜浠暐榪拌櫄鎷熸満鍦ㄦ墽琛孒elloApp鏃跺彲鑳介噰鍙栫殑姝ラ銆?
寮濮嬭瘯鍥炬墽琛岀被HelloApp鐨刴ain鏂規硶錛屽彂鐜拌綾誨茍娌℃湁琚杞斤紝涔熷氨鏄铏氭嫙鏈哄綋鍓嶄笉鍖呭惈璇ョ被鐨勪簩榪涘埗浠h〃錛屼簬鏄櫄鎷熸満浣跨敤ClassLoader璇曞浘瀵繪壘榪欐牱鐨勪簩榪涘埗浠h〃銆傚鏋滆繖涓繘紼嬪け璐ワ紝鍒欐姏鍑轟竴涓紓甯搞傜被琚杞藉悗鍚屾椂鍦╩ain鏂規硶琚皟鐢ㄤ箣鍓嶏紝蹇呴』瀵圭被HelloApp涓庡叾瀹冪被鍨嬭繘琛岄摼鎺ョ劧鍚庡垵濮嬪寲銆傞摼鎺ュ寘鍚笁涓樁孌碉細媯楠岋紝鍑嗗鍜岃В鏋愩傛楠屾鏌ヨ瑁呰澆鐨勪富綾葷殑絎﹀彿鍜岃涔夛紝鍑嗗鍒欏垱寤虹被鎴栨帴鍙g殑闈欐佸煙浠ュ強鎶婅繖浜涘煙鍒濆鍖栦負鏍囧噯鐨勯粯璁ゅ鹼紝瑙f瀽璐熻矗媯鏌ヤ富綾誨鍏跺畠綾繪垨鎺ュ彛鐨勭鍙峰紩鐢紝鍦ㄨ繖涓姝ュ畠鏄彲閫夌殑銆傜被鐨勫垵濮嬪寲鏄綾諱腑澹版槑鐨勯潤鎬佸垵濮嬪寲鍑芥暟鍜岄潤鎬佸煙鐨勫垵濮嬪寲鏋勯犳柟娉曠殑鎵ц銆備竴涓被鍦ㄥ垵濮嬪寲涔嬪墠瀹冪殑鐖剁被蹇呴』琚垵濮嬪寲銆傛暣涓繃紼嬪涓嬶細
鍥?錛氳櫄鎷熸満鐨勮繍琛岃繃紼?
4聽聽緇撴潫璇?
鏈枃閫氳繃瀵笿VM鐨勪綋緋葷粨鏋勭殑娣卞叆鐮旂┒浠ュ強涓涓狫ava紼嬪簭鎵ц鏃惰櫄鎷熸満鐨勮繍琛岃繃紼嬬殑璇︾粏鍒嗘瀽錛屾剰鍦ㄥ墫鏋愭竻妤欽ava铏氭嫙鏈虹殑鏈虹悊銆?

]]>