锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
澶氱嚎紼嬬殑鐢ㄩ?/SPAN>
紼嬪簭鐨勬煇涓閮ㄥ垎姝e湪絳変竴涓簨浠舵垨璧勬簮錛岃屼綘鍙堜笉鎯寵瀹冩妸鏁翠釜紼嬪簭閮界粰闃誨浜嗐傚洜姝や綘鍙互鍒涘緩涓涓笌璇ヤ簨浠舵垨璧勬簮鐩稿叧鐨勭嚎紼嬶紝璁╁畠涓庝富紼嬪簭鍒嗗紑鏉ヨ繍琛岋紝渚嬪鍦ㄨ繍綆楃殑鍚屾椂錛岀洃瑙嗛敭鐩樼殑杈撳叆銆?/SPAN>
澶氱嚎紼嬬殑緙虹偣
鍏變韓璧勬簮鏃訛紝浼氶檷浣庤繍琛屾晥鐜囷紱棰濆鐨勬秷鑰?/SPAN>CPU璧勬簮錛涗嬌鐢ㄤ笉褰撲細鎶涘嚭寮傚父銆佹垨寮曞彂涓浜涗笉姝e父鐘舵侊紱涓庡鉤鍙版湁涓瀹氱殑鐩稿叧鎬с?/SPAN>
綰跨▼鐨勭姸鎬?/SPAN>
1. new錛氱嚎紼嬪垰鍒氬緩濂斤紝榪樻湭鍚姩銆?/SPAN>
2. runable錛氭帓鍦ㄩ槦鍒椾腑絳夊緟琚垎閰?/SPAN>CPU鏃墮棿鐗囥?/SPAN>
3. dead錛氳涓鐨勭姸鎬併?/SPAN>
4. blocked錛氱敱浜庨潪CPU鏃墮棿鐗囧師鍥犺屼笉鑳借繍琛岀殑綰跨▼錛堝sleep錛堬級銆?/SPAN>wait錛堬級銆?/SPAN>IO闂錛?/SPAN>
瀹炵幇鏂規硶
1. 鍒涢犱竴涓被鍘誨疄鐜?/SPAN>runable鎺ュ彛錛屽茍閲嶅啓run錛堬級鏂規硶錛岀劧鍚庡疄渚嬪寲鍑烘潵涓涓璞?/SPAN>A錛岀劧鍚庡湪涓葷▼搴忎腑鐢?/SPAN>A浣滀負鍙傛暟鍒涘緩涓涓?/SPAN>Thread綾葷殑瀵硅薄錛岃皟鐢ㄥ叾涓殑start錛堬級鏉ュ惎鍔ㄧ嚎紼嬨傦紙緲佹伜涓庡瓩閼帹鑽愮敤姝ょ鏂規硶鍒涘緩綰跨▼錛?/SPAN>
2. 浠?/SPAN>Thread綾諱腑媧劇敓鍑轟竴涓被錛岄噸鍐?/SPAN>run錛堬級鏂規硶錛岀劧鍚庡湪涓葷嚎紼嬩腑鍒涘緩涓涓璞★紝璋冪敤鍏朵腑鐨?/SPAN>start錛堬級鏂規硶鏉ュ惎鍔ㄧ嚎紼嬨傦紙BruceEckel鍒欐帹鑽愮敤姝ょ鏂規硶鍒涘緩綰跨▼錛?/SPAN>
涓昏鍑芥暟
start錛堬級錛?/SPAN>鍚姩涓涓繘紼嬨?/SPAN>
stop錛堬級錛?/SPAN>緇撴潫涓涓繘紼嬶紝鐢變簬瀹冧笉浼氶噴鏀懼璞$殑閿侊紝鎵浠ョ幇鍦ㄥ凡緇忎笉鎻愬′嬌鐢ㄥ畠浜嗐?/SPAN>
suspend錛堬級錛?/SPAN>鎸傝搗榪涚▼銆傦紙涓嶆帹鑽愪嬌鐢級
resume錛堬級錛?/SPAN>鍞ら啋榪涚▼銆傦紙涓嶆帹鑽愪嬌鐢級
interrupt錛堬級錛氭墦鏂?/SPAN>
yield錛堬級錛?/SPAN>涓誨姩鏀懼純CPU鐨勫崰鐢紝涔熷彲鑳藉湪鏈墽琛屽埌姝よ鍙ユ椂錛岃铏氭嫙鏈哄己鍒舵斁寮冿紝鎵浠ヤ竴鑸笉鑳界敤鏉ヤ弗鏍兼帶鍒剁嚎紼嬨?/SPAN>
sleep錛堬級錛?/SPAN>鏆傚仠綰跨▼涓孌墊椂闂達紝鐒跺悗閲嶆柊榪涘叆CPU浣跨敤搴忓垪鎺掗槦錛屾墍浠ュ茍涓嶈兘鍑嗙‘鍦拌瀹氱嚎紼嬬殑鏆傚仠鏃墮棿錛屾墍璁懼畾鐨勬椂闂村彧鏄渶灝戠殑浣跨敤鏃墮棿錛堝紓甯告儏鍐典笉綆楋級銆傚彟澶栵紝涓瀹氳鏀懼湪try鍩熶腑銆?/SPAN>
setPriority錛堬級錛氳緗嚎紼嬬殑浼樺厛綰с?/SPAN>
getPriority錛堬級錛?/SPAN>鑾峰彇綰跨▼鐨勪紭鍏堢駭銆傜敱涓嶅悓鎿嶄綔緋葷粺鐨勪紭鍏堢駭璁懼畾涓嶅お涓鏍鳳紝鎵浠ュ浼樺厛綰х殑鎿嶄綔鏈濂戒嬌鐢?/SPAN>MIN_PRIORITY, NORM_PRIORITY, 鍜?/SPAN>MIN_PRORITY鏉ヨ〃紺恒?/SPAN>
setDaemon錛堬級錛?/SPAN>鐢ㄤ簬灝嗙嚎紼嬭緗負Daemon綰跨▼錛屼絾蹇呴』鍦ㄧ嚎紼嬪惎鍔ㄤ箣鍓嶃?/SPAN>
isDaemon錛堬級錛?/SPAN>鍒ゆ柇綰跨▼鏄惁涓?/SPAN>Daemon綰跨▼銆?/SPAN>
isAlive錛堬級錛?/SPAN>鍒ゆ柇綰跨▼鏄惁榪樺瓨鍦ㄣ?/SPAN>
join錛堬級錛?/SPAN>鐢ㄤ簬涓嶅悓綰跨▼闂寸殑鑱旂郴錛屽綋涓涓嚎紼?/SPAN>1璋冪敤鍙︿竴涓嚎紼?/SPAN>2鐨?/SPAN>join錛堬級鏂規硶錛岄偅涔堢嚎紼?/SPAN>1鍦ㄧ嚎紼?/SPAN>2緇撴潫鍓嶅氨浼氳鎸傝搗錛堥櫎闈炶緗?/SPAN>timeout錛夈傜敱浜庝篃鍙互琚?/SPAN>interrupt錛堬級鎵撴柇錛屾墍浠ヤ篃瑕佹斁鍦?/SPAN>try鍩熶腑銆?/SPAN>
currentThread錛堬級錛?/SPAN>鑾峰緱褰撳墠綰跨▼錛屽嵆鎵ц姝ゆ柟娉曠殑綰跨▼銆?/SPAN>
getName錛堬級錛?/SPAN>鑾峰緱綰跨▼鐨勫悕瀛椼?/SPAN>
getThreadGroup錛堬級錛?/SPAN>鑾峰緱綰跨▼鎵灞炵殑綰跨▼緇勩?/SPAN>
Daemon綰跨▼
Daemon綰跨▼鍦ㄥ悗鍙拌繍琛岋紝褰撴墍鏈夌殑闈?/SPAN>Daemon綰跨▼緇撴潫浜嗭紝Daemon綰跨▼涔熼殢涔嬬粨鏉燂紝鍙﹀鍦?/SPAN>Daemon綰跨▼涓垱寤虹殑綰跨▼錛岄兘榛樿璁劇疆涓?/SPAN>Daemon綰跨▼銆?/SPAN>
瑙e喅鍏變韓璧勬簮鍐茬獊
闃叉璧勬簮鍐茬獊鐨勪袱縐嶆柟娉曪細鍚屾鍧楀拰鍚屾鏂規硶銆?/SPAN>
鍚屾鍧?/SPAN>錛氶渶瑕佸皢瑕佸悓姝ョ殑浠g爜鏀懼埌synchronized錛?/SPAN>object錛?/SPAN>{}涓紝鐢變簬姣忎釜瀵硅薄鍧囨湁涓涓洃瑙嗗櫒錛堥攣錛夛紝鎵浠ュ叾涓殑object鍙負浠繪剰綾葷殑瀵硅薄錛岄潤鎬佹柟娉曞垯榛樿浣跨敤綾葷殑Class瀵硅薄銆?/SPAN>
鍚屾鏂規硶錛?/SPAN>灝嗛渶瑕佸悓姝ョ殑浠g爜鏀懼埌鏌愪竴鏂規硶涓紝涓斿皢鏂規硶璁劇疆涓?/SPAN>synchronized銆?/SPAN>
榪涚▼闂寸殑鍗忎綔
褰撳彂鐢?/SPAN>nodify錛堬級鐨勬椂鍊欙紝鍙戠敓wait錛堬級鐨勫湴鏂規墠鍙互緇х畫榪愯錛屼笖瀹冧滑蹇呴』鏀懼湪鍚屼竴涓璞$殑鍚屾鍧楁垨鍚屾鏂規硶涔嬩腑銆?/SPAN>
wait錛堬級鍚庡皢褰撳墠綰跨▼鏀懼埌涓涓瓑寰呴槦鍒椾腑錛?/SPAN>nodify錛堬級鍚庝粠絳夊緟闃熷垪涓殢鎰忔縺媧諱竴涓?/SPAN>
綰跨▼緇?/SPAN>
綰跨▼緇?/SPAN>鏄竴涓綰跨▼鐨勫鍣ㄣ傜敤Joshua Bloch錛屼篃灝辨槸璐熻矗淇ˉ鍜屾敼榪?/SPAN>JDK 1.2鐨?/SPAN>Java瀹瑰櫒綾誨簱鐨勯偅浣?/SPAN>Sun鐨勮蔣浠舵灦鏋勫笀錛岀殑璇濇潵璁詫紝瀹冪殑鎰忎箟鍙互姒傛嫭涓猴細鈥滄渶濂芥妸綰跨▼緇勭湅鎴愭槸涓嬈′笉鎴愬姛鐨勫疄楠岋紝鎴栬呭氨褰撳畠鏍規湰涓嶅瓨鍦ㄣ傗?SPAN lang=EN-US>
Java榪愯鏃剁殑鍑犱釜緋葷粺綰跨▼
Referrence Handler錛氱郴緇熺敤鏉ユ帶鍒跺紩鐢ㄧ殑綰跨▼銆傦紙浼樺厛綰э細10錛?/SPAN>
Finalizer錛氬瀮鍦炬敹闆嗗櫒銆傦紙浼樺厛綰э細8錛?/SPAN>
Singnal Dispatcher錛氫俊鍙峰垎閰嶅櫒銆傦紙浼樺厛綰э細10錛?/SPAN>
Compiler Thread錛氱敤浜庝紭鍖栥傦紙浼樺厛綰э細10錛?/SPAN>
鍏朵粬涓浜涘皬闂
鈥?SPAN style="FONT: 7pt 'Times New Roman'"> JAVA涓彧鏈夐櫎long鍜?/SPAN>double浠ュ鐨勫熀鏈被鍨嬬殑璧嬪煎拰榪斿洖寮忓師瀛愭搷浣滐紝鍏朵粬鐨勬搷浣滃嵆浣跨湅涓婂幓闈炲父鍍忓師瀛愭搷浣滐紝鎴戜滑涔熸渶濂藉姞涓?/SPAN>synchronized錛岃繖涔熺畻鏄?/SPAN>JAVA涓?/SPAN>C++鐨勪竴鐐逛笉鍚屼箣澶勫惂銆傛渶瀹夊叏鐨勫師瀛愭搷浣滃彧鏈夎鍙栧拰瀵?/SPAN>primitive璧嬪艱繖涓ょ銆?/SPAN>
鈥?SPAN style="FONT: 7pt 'Times New Roman'"> 濡傛灉浣犺闃叉璁塊棶璧勬簮鍐茬獊錛屽氨绱㈡ф妸綾諱腑鐨勬墍鏈夌殑鏂規硶鍏ㄩ兘synchronize浜嗭紝鍥犱負鍒ゆ柇鍝簺鏂規硶璇?/SPAN>synchronize寰堥毦鐨勶紝鑰屼笖synchronize瀵規ц兘鐨勫獎鍝嶄篃涓嶅ぇ銆?/SPAN>
鈥?SPAN style="FONT: 7pt 'Times New Roman'"> 瀵硅薄浣跨敤瀹屼箣鍚庯紝瑕佽寰楄祴鍊間負null錛屼篃灝辨槸閲婃斁鍏跺唴瀛樼┖闂淬?/SPAN>
鈥?SPAN style="FONT: 7pt 'Times New Roman'"> Thread綾葷殑瀵硅薄涓嶄細鍥犱負娌℃湁寮曠敤鑰岃鍨冨溇鏀墮泦璧鋒敹闆嗘帀錛岀洿鍒板叾綰跨▼緇撴潫銆?/SPAN>
鈥?SPAN style="FONT: 7pt 'Times New Roman'"> volatile鏍囪鐢ㄦ潵鎺掗櫎浼樺寲錛屽惁鍒欙紝緙栬瘧鍣ㄤ粎浼氳鍙栫紦瀛樹腑鐨勫彉閲忋?/SPAN>
鍙傝冿細銆?/SPAN>Think In JAVA絎笁鐗堛嬨佺縼鎭?/SPAN>java鏁欏瑙嗛銆佸瓩閼?/SPAN>java鏁欏瑙嗛銆?/SPAN>
聽
寮曠敤
Java涓殑瀵硅薄瀹氫箟閮芥槸瀹氫箟涓轟竴涓紩鐢紝鍏舵湰韜茍涓嶅瓨鍌ㄥ璞$殑鏁板鹼紝鍙槸瀛樺偍鎸囧悜瀵硅薄鍐呭瓨鍧楀効鐨勬寚閽堬紝鍏舵湰璐ㄥ氨鏄笉鑳借繍綆楃殑鎸囬拡銆?/span>
Break 璺沖嚭鍙屽眰寰幆
鏍煎紡錛?/span>break 鏍囧彿
鍏鋒湁閮ㄥ垎goto璇彞鍔熻兘錛岀敤浜庤煩鍑哄驚鐜紝灝ゅ叾鏄弻灞傚驚鐜?/span>
This鍏抽敭瀛?/span>
this鍏抽敭瀛楀彲浠ヤ負宸茶皟鐢ㄤ簡鍏舵柟娉曠殑閭d釜瀵硅薄鐢熸垚鐩稿簲鐨勫彞鏌勶紝鍗寵皟鐢ㄨ繖涓嚱鏁扮殑閭d釜瀵硅薄灝辨槸this銆?/span>this鍙互鍦ㄤ竴涓瀯閫犲嚱鏁頒腑璋冪敤鍙︿竴涓瀯閫犲嚱鏁幫紝浣嗗彧鑳借皟鐢ㄤ竴涓?/span>
af ( int a ){}聽 //鏋勯犲嚱鏁?/span>1錛堝嵆琚皟鐢ㄧ殑鏋勯犲嚱鏁幫級
af ( int a , String b){ this(a); }聽聽 //鏋勯犲嚱鏁?/span>2
finalize() 鍦ㄨ繍琛屽瀮鍦懼洖鏀跺櫒涔嬪墠榪愯鐨勫嚱鏁?/span>
闈欐佺殑涓滆タ灞炰簬綾伙紝鍔ㄦ佺殑涓滆タ灞炰簬瀵硅薄銆?/span>
瀵硅薄鍒濆鍖栫殑欏哄簭
1.聽聽聽聽聽聽 鍒涘緩涓涓璞℃椂錛屽厛瑕佹壘鍒板叾瀵瑰簲鐨?/span>.class鏂囦歡銆?/span>
2.聽聽聽聽聽聽 媯鏌ュ璞℃槸鍚︽湁鐖剁被銆傚鏋滄湁鐖剁被錛屽垯闇瑕佹墽琛岀埗綾諱腑鐨勯潤鎬佸垵濮嬪寲銆?/span>
3.聽聽聽聽聽聽 鎵ц綾昏嚜宸辨湰韜殑闈欐佸垵濮嬪寲銆?/span>
4.聽聽聽聽聽聽 new璇彞棣栧厛浼氬湪鍐呭瓨鍐呭垎閰嶄竴涓凍澶熺殑絀洪棿錛屼笖鍏ㄩ儴娓?/span>0銆?/span>
5.聽聽聽聽聽聽 渚濇鎵ц鐖剁被涓殑瀹氫箟鍒濆鍖栧拰鏋勯犲嚱鏁般?/span>
6.聽聽聽聽聽聽 渚濇鎵ц鐖剁被涓殑瀹氫箟鍒濆鍖栧拰鏋勯犲嚱鏁般傦紙瀹屾垚錛?/span>
闈欐佸垵濮嬪寲鍧?/span>
static{聽聽聽聽 c1 = new cpu(1);
聽聽聽聽聽聽聽聽聽聽聽聽聽 c2 = new cpu(2);聽聽 }
瀹氫箟鍒濆鍖?/span>(鐢ㄤ簬鏃犲悕綾葷殑鏋勯犲嚱鏁?/span>)
{聽聽聽聽 c1 = new cpu(1);
聽聽聽聽聽聽 c2 = new cpu(2);聽聽 }
姣忎釜緙栬瘧鍗曞厓閮芥槸浠?/span>.java涓虹粨灝劇殑鏂囦歡錛屽湪涓涓紪璇戝崟鍏冮噷錛屽彧鍙互鏈変竴涓?/span>public綾伙紝涓旇繖涓被鐨勫悕瀛楀繀欏諱笌鍘熸枃浠剁殑鏂囦歡鍚嶇浉鍚屻?/span>
綾葷殑璁塊棶璇存槑絎?/span>
1.聽聽聽聽聽聽 public錛?/span>聽聽 鐣岄潰璁塊棶
2.聽聽聽聽聽聽 private錛?/span>聽 涓嶈兘鎺ヨЕ
3.聽聽聽聽聽聽 protect錛?/span>聽 鏌愮鍙嬪ソ
4.聽聽聽聽聽聽 friengly錛?/span> 緙虹渷鍖?/span>
闈欐佺殑鎴愬憳鍙橀噺鐢辯埗綾誨拰瀛愮被鍏卞悓浣跨敤錛屽叾浠栧彉閲忓垯鍚勬湁涓濂椼?/span>
緇戝畾
鍔ㄦ佺粦瀹氾紙Java甯哥敤錛夛細鍦ㄧ▼搴忕殑榪愯涓墠鍐沖畾瑕佹墽琛岀殑鍑芥暟涓哄摢涓涓嚱鏁幫紝浼樼偣鏄嬌鐢ㄧ伒媧伙紝緙虹偣鏄墽琛屾晥鐜囦綆銆?/span>
闈欐佺粦瀹氾紙C/C++甯哥敤錛夛細鍦ㄧ▼搴忚繍琛屼箣鍓嶅氨宸茬粡紜畾闇瑕佹墽琛岀殑鍑芥暟錛屾湁緙虹偣涓庡姩鎬佺浉鍙嶃?/span>
Final
final鐨勬垚鍛樺彉閲忥細鍙彲璧嬪間竴嬈★紝鏈夋椂浼氱敤浣?/span>Java涓殑甯擱噺銆?/span>
final鐨勫嚱鏁板彉閲忥細闃叉緇ф壙鑰呮敼鍙樺叾瀹炵幇銆?/span>
final鐨勭被錛氫笉鍙戶鎵褲?/span>
鎶借薄綾誨拰鎶借薄鏂規硶
n聽聽聽聽聽聽聽聽 鎶借薄綾諱綔鐢ㄤ粎鏄〃杈炬帴鍙o紝鍏舵墍鏈夋柟娉曢兘鏄病鏈夊嚱鏁頒綋鐨勫0鏄庯紝涓斾笉鑳戒駭鐢熷璞°?/span>
n聽聽聽聽聽聽聽聽 鍖呭惈涓涓娊璞℃柟娉曠殑綾誨氨鏄竴涓娊璞$被銆?/span>
n聽聽聽聽聽聽聽聽 娌℃湁鎶借薄鏂規硶鐨勭被涔熷彲浠ユ槸涓涓娊璞$被銆?/span>
n聽聽聽聽聽聽聽聽 浠庢娊璞$被涓戶鎵跨殑綾誨繀欏昏鐩栨墍鏈夌殑鎶借薄鏂規硶錛屽惁鍒欎粛鏄竴涓娊璞$被銆?/span>
鎺ュ彛
n聽聽聽聽聽聽聽聽 鎺ュ彛鏄竴涓墍鏈夋柟娉曞叏鏄娊璞℃柟娉曠殑綾匯?/span>
n聽聽聽聽聽聽聽聽 鎺ュ彛鍙互緇ф壙錛屼笖鍙互瀹炵幇澶氱戶鎵匡紝浣嗗彧鍙互浠庢帴鍙d腑緇ф壙銆?/span>
n聽聽聽聽聽聽聽聽 鏃犺鏄惁澹版槑錛屾帴鍙d腑鐨勬墍鏈夋柟娉曞叏鏄?/span>public鐨勶紝鎵鏈夋垚鍛樺彉閲忓叏鏄?/span>public static final鐨勶紝鍏跺彉閲忕殑鍊奸兘闇鍦ㄧ紪璇戝墠紜畾銆?/span>
n聽聽聽聽聽聽聽聽 涓涓被鍙互鍦ㄧ戶鎵垮叾浠栫被鐨勫悓鏃跺疄鐜板涓帴鍙c?/span>
鍐呴儴綾伙紙inner class錛?/span>
n聽聽聽聽聽聽聽聽 鍐呴儴綾誨氨鏄氨鏄啓鍦ㄧ被涓紙鐢氳嚦鍐欏湪綾誨唴鍑芥暟涓級鐨勭被錛屽叾鍩烘湰絳夊悓浜庣被鍐呯殑鎴愬憳鍑芥暟錛屽寘鎷彲浠ュ姞璁塊棶璇存槑絎︺佸彲浠ヨ闂鏈夊彉閲忕瓑鐗規с?/span>
n聽聽聽聽聽聽聽聽 婧愭枃浠剁紪璇戝悗錛屽唴閮ㄧ被灝嗘垚涓虹嫭绔嬬殑.class鏂囦歡銆?/span>
n聽聽聽聽聽聽聽聽 縐佹湁鍐呴儴綾誨線寰鐢ㄤ簬鎻愪緵鎺ュ彛鐨勫悓鏃墮殣钘忚嚜宸辯殑瀹炵幇緇嗚妭銆?/span>
聽