天天看點

張孝祥整理Java就業面試題大全

? ???浠跺お?誇?锛????寸??浜?涓?涓??懼?ㄧ???浜?锛?http://pan.baidu.com/s/1EIvlY

? ? ? ?浠?浜?????娲葷??瑙?搴???ヨ?達???绋?搴???骞朵???涓?绉???濂界????涓?锛???璁や負涓ょ?浜哄??浠ュ??绋?搴???锛?绗?涓?锛?浣?涓???绋?搴???锛?浣?灏辨病??浠?涔?宸ヤ?????锛?????璇存???充嬌????浠ュ????宸ヤ?浣???浣???甯鎬??挎???誨??锛?绗?浜?锛?浣???甯哥?磋糠???卞ソ绋?搴?锛?骞朵??ㄨ??歸?㈡??涓?浜?澶╄???浼??褲??绋?搴?????缁?灞?涔?????涓ょ?锛?绗?涓?锛?榛?榛???浼?锛?绗?浜?浠ョ?搴???涓鴻搗?規??璺蟲?匡?娉ㄦ??绉?绱?锛?璺?瀵逛?濂界?????挎???㈤??锛??懼?闆??寰?濂界????妗h??宸卞??涓?锛???涓?T??棰???瀵?缈?????

浜轟滑?ㄦ?堕?撮?㈠????骞崇????锛??劇??涔???娑?锛???浠ワ?浣???缁?楠??翠赴瀵??癸??d?绠?浠?涔?锛?缁?楠????ㄦ?堕?寸Н绱???锛?浣?涓????????d?澶??堕?達?浣??界Н绱?澶?灏?缁?楠????????瑕?????浣???瀛???藉????瀛???規?锛?杩?涓????ョ???介????浠ユ??寰?澶у樊寮?锛?瑕???楂?瀛???藉????瀛???規?棣???瑕?瀛?????????葷?锛?瑕?瀛?????′??╃???規???х??涓?瑗匡???涓???涓?浜?琛ㄩ?㈢??缁?????瀛???規???瀛???藉??瀵逛?IT宸ヤ????ヨ?村挨涓洪??瑕?锛???涓?T琛?涓??????存?闆お蹇?锛?骞朵?缁???澶?澶?锛???涓?涓???????缁??????ュ???諱???甯告????浜???锛???浠ワ?IT????瀛????缁?涓??界?х??涔??????甯???璁茶В姝昏?扮‖????????纭?濂?????IT宸ヤ?寰?绱?浜猴?濡???瀛???規?涓?瀵廣??瀛???藉??涓?寮猴??e氨?寸瘡浜?锛?涓?杩?锛?杩??ㄤ?寰???浜猴?浣???瀛???規???瀛???藉???????????風??瀛???宸ヤ?锛??撮??瑕?璺??扮?搴?????瀛????ユ販锛??h??芥????娉?????浣?锛?

?ㄦ病??浜烘??寮??????典?锛????芥????宸變?涓??ヨ???廣??涓?涓??ヨ???瑰?版極??????瀛??锛?绛??扮Н绱?浜?瓒沖????ヨ??????锛??????藉??寮?濮????????㈢(?????歸?㈢????棰?锛?杩?涓?瀛??杩?绋?寰?婕??褲??濡????藉?ㄥソ??甯?????寮?涓?锛???甯?浼?????浣?????????????棰?锛??跺?????誨???涓?涓??蜂????ヨ???癸?璁╀??藉?涓句???涓???瑙?被????锛?杩??風??瀛??????灏變??撮????

? ? ? ?澶?瀛????涓??ヨ??锛?骞朵??借?存??浣?灏卞???瀹充?锛????借?存??浣?姣???浜烘???ヤ??村????堕?村??绮懼????宸詫???浜烘?沖??涔??藉???幫?涓???浣?瀛??澶?灏??ヨ??灏辯????瀹充?锛??抽????瑕??ㄥソ瀛??扮???ヨ??锛?瑕?璁╁???扮???ヨ?????ュ?烘??澶х??绀句?浠峰?煎??缁?娴?浠峰?鹼?杩?????????瀹崇????

???锛?涓?涓?浜虹?????ュ??????锛?浼?娣卞????澧???褰卞??锛???璋?瀛?姣?涓?杩?锛?杩??辮??璧ゃ??杩?澧ㄨ??榛???澶уぇ????锛?杩?浜??告??澶у?朵?涓?瀹??芥繁?婚?????????锛???浠?灏變?澶?璇翠???灏辨?跨?頒唬姣?杈??ヨ???浠???娲葷??浜?渚??ヨ?達?濡???浣??ㄥ?寸???????ㄦ??浠ユ??????涓虹????姣???杈?杈???????ュ氨??500??锛??d?浼拌?′?????涓?涔???璺?????????浜?锛??充嬌浣????????????ゅ?锛?椤跺?姣???姣?浣??e府????澶???00??锛???涓??ヤ?灏卞?哄??800??/????????骞村??瑕???浣?浜?澶у?匡?娌¢?卞?ㄩ?ㄦ?鵑?惰?璐鋒?句??ㄥ??浜?涔版?褲???闆北瑗垮??ょ?匡???澶寸??涔??芥??骞村ぇ??澶ф???版???憋?濡???浣??ㄥ?寸???????ㄦ?????哄??????涔版?垮??寮??ょ?胯??锛?浣?????涓????朵???涓?浠?浠?骞插???風??浜???锛??充嬌浣???宸?锛?姣?骞翠??芥?e?扮?炬?ヤ?涓?????棰?锛?杩?灏辨????澧?????瑕??с????????浣???涓烘病???轟?缃?韬?浜????垮??腑锛?姣??d????轟??ヨЕ???胯???????e?灏辮?灏???灏辮?绱????頒??烘??瀹㈢????澧?涓??ワ?浣?灏卞????轟??垮?伴????浜?锛?浣???浠ヤ?????浼??烘??瀹㈢???矽??锛?浣???瑕??沖??娉?涓?浼??烘??瀹㈢??瀛???浠?浣??ㄤ?璧鳳????????轟?灏卞ぇ澶?浜???

??浠???浠?寮?璁?G??璇劇???锛?璁稿?瀛????芥?懼?頒???????k???撮????3g寮???宸ヤ?锛?杩???浠?浠????藉??杩?瀹??ㄤ??戒?涔??哥О??涓?浠藉ソ宸ヤ?锛?杩?浜?瀛????肩???闆?寸???ヨ??????涓?寰??懼?锛?????灏卞?寵????浠?杩?浜???甯?浜?锛?瀛???绾風悍??浠?浠??㈣????宸ヤ?涓???瑕?瑙e?崇????棰?甯????ヨ?╂??浠???甯?甯??╁??锛???浜???棰??界?惰??甯??藉??锛?浣?涔???瑕??辮垂寰?澶х???堕?村??绮懼?????藉????锛?杩??稿?浜?瀛???????宸辯??宸ヤ?浜ょ???浠???甯??誇??誨共浜?锛???涓???涓??ヨ??涓ゅ?ヨ??灏辮В?崇????棰???????锛???浠???甯???宸辮???寰?绻?????澶?璇懼????瀛?換?★???浠???宸ヤ?璇瘋??ュ府?╁???????瀛?滑浼間?娌℃???挎??浠??寵?杩?涓???棰???

涓?涓?涓や釜瀛????跺????ヨ?涔?骞茶???浠ワ?浣??朵?浣?涓??規?圭??瀛????芥?ヨ?涔?骞詫???涓?????瀛???杩?涓?澶?浼?璇磋??锛?璁╀漢寰???濂?锛?

??寰?绠?????锛?椤跺????ㄤ?涓?涓?灏??跺氨??瀹?浜?锛???锛?杩?涔?绠???锛?浣?涓轟???宸變?骞插??锛?

??浠?澶╂??涓?浣?蹇?椤誨???烘?ワ???澶╁氨瑕?浜や??諱???锛???锛???????澶??介?借?涓??锛???濠?灏辮??ョ?哥?佃??浜?锛?浣???????涔?????锛?

??浣?娌℃?堕?村共锛??d??╁???朵???甯?骞詫?涔???浠ュ??锛???锛?褰???甯??芥??????濂撮?訛??????堕???闆??浠?浠?骞插?ワ?浠?浠?灏卞共?ュ??锛???甯??芥????瀛???濂斤?灏卞?缁????㈠??浜???

?闆?ㄨ?浜????告??涔??借??ヨ??$?句?锛?浠?浠????ュ??宸ヤ?涓?瑕?瑙e?崇????棰???骞朵???浠?浠???宸遍?藉??捐В?崇????棰??垮?烘?ヨ?╅?㈣??姹??????繪??锛?涓?绠¢?㈣??姹???????姘村鈎???鳳?浠?浠??借?磋??芥??瀹?锛?璋?灏辨?ヤ???锛???浠?瀛???寰?楂??達?涓?绠¤??宸辨按骞蟲??????????杩?浠藉伐浣?锛???姝f??浼??烘??瀹㈢????甯???浠ヤ???锛??垮???ュ氨璁╂??浠???锛?杩?璇粹????濂戒?灏辨??楂???宸ヤ?锛?杩??充???涓?杈?瀛???骞哥?锛???甯?浣???宸辯??杩?涓?蹇?甯?涓?甯??э???锛?杞?浠跺???歌???澶???锛???浠?杩??矽??甯???浜?杩?浜????稿??璐逛嬌?ㄧ??瓒?绾у?沖伐??濡???濂ュ反椹?璇翠??芥??浼???????骞籌???灏辮?╀?褰?浼??????葷?锛?杩?涓?濂ュ反椹??芥??涓?骞崇??浜???锛?浣???涓哄??瀹?浜?灏卞??浠ュ?浼??????葷?锛???浠?瀛???涔????芥?垮???ヨ?╂??浠?甯??╁??锛?璁╂??浠?甯?浠???骞充?????锛?杩?瀵規??浠??ヨ?翠???寰??懼??劇??浜???????

1.?瀛???瑰??涓??㈣??绠??????稿?抽??棰?

1.濡?浣?杩?绠????籌?

????璁茶В??涓?杞?浠舵????稿?崇????瀹???浜?锛?浠ュ府?╁ぇ瀹朵?瑙eぇ澶??拌蔣浠跺???浼?涓???濡?浣?璧???绠?????褰??ㄦ?闆??宸ョ????

1.浼??烘??瀹㈠????A??澶у???ㄨ?葷??搴?灞?姣?涓???锛?浠???淇℃????瀛??寰?涓???锛?瀹?璐ㄤ?纭?瀹?涔?杈懼?扮?ㄤ漢??浣???????锛?浠?涓??挎??缂???涓ゅ勾宸ヤ?缁?楠???????绠???锛?甯?????????宸辯????瀹????靛?婚?㈠?規???锛?????浜?寰?澶?浠界????锛??芥病????搴?锛???浠??ㄥ?寸??寰?澶??鎬技??????瀛?????涓轟嬌?ㄤ???绠???锛??藉?蹇??懼?頒???姘?.5k/??宸??崇??宸ヤ?锛?????涓?涓?寰?宸詫?浠?淇??逛???宸辯??绠???锛?澧???浜?涓?浜?姘村??锛?浠ヤ袱骞村伐浣?缁?楠???韬?浠藉?繪????绠???锛?缁???灏卞?蹇??懼?頒?婊℃????宸ヤ???

2.涓?涓?绌跨????姘?璐ㄧ?浜虹???拌薄?藉?涓?????濂崇???ㄨ?㈡?訛???锛???濡????ㄤ??烘??瀹㈠????浜?锛??芥?懼?闆伐浣???锛???锛?????浜?濂逛?浜??烘?????靛??锛?寰??ュス????宸???绌哄伐涓?绠$??瀛??㈡??绉?姣?涓?锛?骞朵?姣?涓??堕?村凡缁???涓ゅ勾锛?璋?璇?涓???瑙?寰???宸ヤ?缁?楠?锛??辮??涔?涓???锛???浠ワ????╅???????闆??璇?濂癸???濂瑰??????缁?瀵矽?芥?懼?頒?浠芥弧????宸ヤ???锛?骞惰?村?轟?涓?浜?????锛?锛?1锛?濂規??韬???璋???姘?璐ㄥ氨?沖??浜?濂規?懼伐浣?娌¢??棰?锛?搴???宸ヤ??や?瑕?姹????d?蹇????????藉?锛??抽??涓??矽?瑕???杩?涓?浜虹???ф?煎??绱??夥???濂圭???′歡锛?濡???濂矽??捐蔣浠跺????歸?㈢??宸ヤ?锛?????瑕???????琛ヤ?灏卞??浠ヤ?锛?杩?涓??瑰?ㄤ??烘??瀹㈠?????寰?瀹規??琛ヤ???锛?锛?2锛?瑕??蟲?懼?闆ソ宸ヤ?锛??や????″?????????澶?锛???甯擱?介??瑕?缂???涓ゅ勾宸ヤ?缁?楠???绠???锛?濂圭??姣?涓???璇?纭?瀹?涓ゅ勾????锛?缂???涓ゅ勾杞?浠跺?????宸ヤ?缁?楠??村?規??锛??沖?涓??ㄤ??ㄥ?誨??????姣?涓?璇?浜???濂瑰??瀹???锛?寰?璧???????瑙?蹇碉?璇村ス?闆?ㄥ氨?ㄤ?瀹惰蔣浠跺???稿??浜哄??璧?婧?锛?璐?璐f????搴???????绠???锛???棰?瀵肩???╁??锛????℃??宸ヤ?缁?楠?浣?浜?涓ゅ勾??绠????存?ュ???ゅ?闆???炬《??锛???瑙?锛?濡???浣???绠???棣????拌揪浜?绫諱技杩?涓?濂崇????浜哄??璧?婧?涔???锛??充嬌浣???????????瀹籌?濡???浣???宸ヤ?缁?楠?涓???涓???寰?浣?浜?浜?涓ゅ勾锛??g????灏辨案???茶?鎬??ヤ?锛?浣?璋????ョ??绗?璇????㈣??????

3.涓?浼??烘??瀹㈠??涓?妤肩??涓?涓?杞?浠跺?????浣?锛???涓洪」??缁???璇昏?浼??烘??瀹㈣??甯?浠???涔??????杩?浼??烘??瀹㈢??瑙?棰?锛???浠ヤ?浠????告?沖?頒?浠?浼??烘??瀹㈠????涓?????寮???浜哄??锛????鴻??姘村??800??宸???锛???浠????歌??甯?瀵逛?浠?璋?锛?2800????姘達???浠?瀛?????瀹???涓?涓?锛?浠?浠????歌?村?逛?娌℃??瀹???缁?楠????版??寮???800??????姘村凡缁?寰?涓???浜?锛???浠???甯?璇達?浼??烘??瀹㈠??????杩?绠?????瑁??借?芥?懼?闆鈎??4500????宸ヨ?锛?妤間????歌?村??绠???浠?浠?涓???灏辮?借???烘?ワ?娌″伐浣?缁?楠???浜烘??楠?涓?浣?浠?浠???锛???浠?????甯?褰??跺氨??璇?浜?锛??????涓哄氨?ㄥ????澶╋???浠?灏辨??涓?涓?瀛???????娼?浼?杩?浜?浠?浠????革?骞朵?宸ヨ?灏辨??4500??锛?浣???浠???甯?涓??藉?浠?浠????㈡?ヨ?磋?浜?锛?灏辮?╀?浠?涓??磋???ㄩ???杩?寰???淇″?э????ㄤ?涓?澶чゼ????浜??ヨ?存??杩?涓???棰??э???濡?甯??轟?????澶чゼ?芥??10??涓?涓?锛???涔???浜?涓?涓?杩??風??澶чゼ锛?姣???绫誨ぇ楗艱?瑕?濂藉??涓??癸???涔?涔?0??涓?涓?锛?浣???瀹??挎??涔幫?浣???锛?涓???????璇?浣?锛???杩?涓?澶чゼ??????????5姣??憋?浣?蹇???杩?浼?骞寵 ??锛???浼?楠???澶?榛?锛?5姣??辯??????灞??跺????0?????村?╋?浣?涓?浼?涔版????澶чゼ锛???涓鴻?瓒??轟?浣???蹇????垮??锛???瑕???涓???璇?浣?杩?涔?涓?瀹??????碉?浣????芥?g?舵?ュ????涔?灏辨??璇達?缁?浣?璁插??璇?锛?浣?蹇???浼??懼??锛?缁?浣?璇村??璇?锛?浣?蹇???????????告??甯??轟?????绫諱駭??锛???杩???璇?涔?绠?涓?涓?娆洪??锛?姣?绔?浣???0??涔頒漢瀹剁??澶чゼ锛?杩?涓?濡?涔版??杩?涓?澶чゼ濂藉??锛?

4.???㈣??扮????涓???宸ヤ?缁?楠?寰???瑕?锛?????澶у??拌??懼伐浣?????瀛??寰???娌℃??宸ヤ?缁?楠???锛???浠ワ????藉?ㄧ????涓????規按????浣???锛???瑕?浣?灏?绠???涓?????浜?涓ゅ勾浠ヤ???宸ヤ?缁?楠?锛???涓???涓?瀹?灏辮?藉??扮??璇????㈣?????轟??????涓ゅ勾宸ヤ?缁?楠?????????绠?????寮?濮?锛?绂葷????琚??ㄤ漢??浣??鎬腑杩???涓?娈靛樊璺???涓?涓?濂界??姣?涓?瀛??°??浼?绉????辮??姘村鈎??涓??卞???????挎不?㈣??????????磋?甯???浼?绉?姣?涓?????濂ユ???瑰??绔?璧??峰??绛?濂?绛??h???戒?缁??ㄤ漢??浣?涓?涓?寰?濂界???拌薄锛?濡???浣???杩?浜??h??锛?涓?瀹?瑕??ㄧ???????烘??淇℃???ㄥ????娓?妤???浣???锛?寰?澶?浜烘??娌℃??杩?浜??h????锛??d????藉鈎骞蟲貳娣″???鴻??宸辯??涓?浜??烘??淇℃??锛?杩?涔?娌℃??寰?澶х???崇郴锛?椤跺?灏辨????宸辯??绠???涓??借?遍????猴?浣???锛?瀵逛?杞?浠跺伐绋?甯?宀?浣??ヨ?達?瀛???涓?????涔???涔?涓??藉??涓洪??涓?锛?璧風??涔?瑕???涓?澶т???浠ヤ?锛?姣?涓??㈡?$?涓?浜?绾垮??甯???涓??ュ????灏?瀛????濡???浣?涓??挎???誨????璇?锛?绛??闆??浜洪?㈣??浣??訛???璇粹???插?浠ュ??涓???瀛??′?濂斤???涓哄?圭?绋?澶????磋叮锛?灏辮?瀛??锛???

2.涓轟?涔?璇翠???瑕????哄???寸??椤圭????锛?

1.浼????ㄧ?ワ??ㄥ??????杞?浠堕」??涓?锛??芥??寰?澶?浜轟????卞????涓?涓?椤圭??锛?姣?涓?浜哄??????椤圭??涓???涓??ㄥ????瀹癸????蟲??????浜?椤圭??涓???涓?涓?妯″??锛?椤圭??瓒?澶э?瓒???濡?姝わ???渚挎?垮?轟?涓?涓?绛?澶у???椤圭??锛?涔???瑕?濂藉?涓???缁???寮???浜哄??寮???濂藉?涓??????藉??寮哄??寰?宸?涓?澶?锛??矽?????存病??杩?涔?澶??堕?達?骞朵?浣?杩?瑕???瀛??浜?寰?澶??????????藉?濮???椤圭????

?2.涓?涓?椤圭??涓???寰?澶?涓?瑗塊?芥????澶??х??宸ヤ?????绱?绉?锛??????歸?㈤?藉ぇ??灏?寮?????涓?涓?椤圭??灏卞ソ姣???涓?搴фゼ?匡???瑕???璇?浣??翠釜妤兼?跨???翠?缁???锛??跺??甯???浣???涓?涓??翠袱?存?垮??锛??朵??╀??????鵑?存?垮??锛???甯??崇戶缁???缁?浣???锛?????璁╀???宸辯???╀????塊?達?浣???瀹?涔?涓??挎???с??浠ュ????????缁??????轟?锛??跨??浜哄?跺??缁?浣???宸ヨ?锛?浣????誨??杩?浜???澶??х??宸ヤ?涔?涓?杩?锛?宀?涓????村ソ锛?

3.涓??¢??瑕?锛?杩???缂???瀹????撮??瑕?锛?

1.瀵矽蔣浠朵?涓??ヨ?達?涓よ???藉???瑕?锛?????椤圭????涓??′負??蹇?锛?????????浠ユ????浣?涓烘?稿?锛?浠ヤ??′負??蹇???椤圭??澶ч?芥??浼?涓?淇℃????寤鴻?炬?歸?㈢??椤圭??锛?涓?????宸?涓?澶?锛?娌℃??澶?澶ф??????????澹???锛?????绉?绱?浜?涓?瀹???缁?楠?锛?璋??藉??浠ュ??锛??╂鼎寰???锛?渚?濡?澶у??扮?$??绯葷?锛???????浜烘搗???????堕?寸?缂?锛???杩?绉?椤圭????绋?搴???宸ヤ??藉?杈????缁?甯歌????????廣????浠ユ????涓烘?稿???椤圭????寰???????澹???锛?涓???璋??借?藉????锛??╂鼎??寰?楂?锛?渚?濡?锛?360??姣?杞?浠躲??baidu锛?qq锛?杩??蜂?杞斤?澶у??bbs椤圭????娣?瀹?杩??風???靛?????$?绔???

??2.瀵圭?搴????ヨ?達?缂???瀹????撮??瑕?锛?涓??″??涓?绠?浠?涔?锛?绋?搴?????杞?浠跺???哥??宸ヤ?灏辨??瑕????ㄦ?風????姹???涓??″????浠g??锛??充負浜轟?瀚?锛?涓?寮?濮?锛???姹???涓??¢?藉?ㄧ?ㄦ?烽?i??锛??ㄦ?鋒????涓??★?浣?涓??ㄤ?瑙d??★?浣???浠誨?″氨??浜?瑙g?ㄦ?風??涓??″??缂???浠g??锛??ㄥ?濮???椤圭????锛??ㄦ?蜂???涓??″??璇?缁?浣?????涓?涓?杞?浠跺???鎬??ラ?戒?????????宸辯????涓??$??椤圭??锛??????ヤ?涓??′???????椤圭???轟?锛???瀹?涔?浼??蹭??誨??锛?杞?浠跺???擱??甯擱?芥???ㄥ????宸變互??娌″??杩???椤圭??锛??沖??浠ュ??涓?浜?瑙d??$??椤圭??锛?????椤圭????瀹?浜???瀹??ㄧ????浜?涓??★?杩???????椤圭??锛?????灏辨??浜???浜у??浜?锛???浠ワ?杞?浠跺伐绋???璇寸????姹?璋???????瑙d??$??杩?绋?锛?涔????ㄤ?渚ч?㈣?存??锛?绋?搴??????ㄦ?ュ?伴」??涔?????寮?濮?浜?瑙e?朵??$??锛????ㄦ?や???锛?瀵逛??″??浠ユ??瀹??ㄤ???????

4.???矽????瀹瑰??淇℃????澶уソ锛?杩????矽????瀹瑰???绮劇??濂斤?

绛?锛??界?惰?涓ょ??瑰??借?借?╁???????峰???懼?闆伐浣?锛?骞朵?锛?????瀵逛???甯???瀛???瑕?姹??藉?楂?锛???甯???寰?寰?杈????瀛???瀛??涔?寰?杈????瀛??????充?浜х?????у???锛??充嬌姘村鈎宸茬?寰?楂?锛????借???娌℃??淇″?锛?????瀵逛???甯???瀛?????瑕?姹??戒?楂?锛???甯???寰?杞繪?撅?瀛???瀛????蹇?锛?瀛???寰?瀹規??浜х????淇★???浜?浜?搴?涔???锛?杩???浠ヤ負涓?寰?浜???浣???锛???瀹瑰??淇℃????澶у?矽??璇劇?浣?绯夥?瀵瑰ぇ澶?浜烘?ヨ?存???存?剁????锛???涓猴?绋?搴???????宸ヤ??繪???ㄥ??????锛?娌℃??涓???涓?????宸ヤ?锛?涓轟???搴?杩?绉?????锛?浣????ヨ???㈠?椤誨?骞挎???濡???浣?瀛????ヨ????瀹瑰?灏?锛??充嬌浣???杩?浜???瀹圭???婊???????浜?锛??ら??浣??哄?繪?劇??涓?浠藉伐浣?姝eソ灏辨??浣?浠ュ??缁?涔????d?涓?瑗匡?杩??跺??浼?璁╀漢??瑙?浣?姣?璋??藉??瀹籌?浣?杩?绉???杞介?鵑?㈢??濂戒???涔?灏辮?浣?纰頒?浜????杞?浠跺???姣?绔?涓???浜??風??瀛?锛?涓????ㄩ??澶?骞蹭?浠朵?????杞?浠跺?????宸ヤ??繪??瑕???複涓???????姹?????棰?锛?濡????矽??璇劇?????瀹瑰??淇℃????寰?澶э??充嬌?變??堕?村?崇郴锛?浣????舵病??瀹??ㄦ???????缁?杩?涔?澶???瀹癸?浣???锛?浣??ㄥ伐浣?涓?涓?绠¢???頒?涔??伴??棰?锛??芥???d?涓??圭?瑰?拌薄锛??ラ??澶ф???瑙e?沖??娉?????璺?锛?浣?灏卞??浠ユ?㈡?㈠?伴??杩??ラ??璧???????缁?瑙e?寵?涓???棰?锛?杞?浠跺?????宸ヤ????ュ氨??杩?涔?涓?绉??扮?訛?濡???浣?瀛????ヨ????寰?灏?锛?涓??????頒??伴??棰?锛?浣?瀹??ㄥ氨娌℃??浜???璺?锛?瀹??ㄦ??浠?涓???锛?杩???浣?绛???????????版?婧?璧頒漢??浠戒??с???諱?锛??ヨ???㈣?瀹藉箍锛?浜?瑙g??淇℃??瓒?澶?锛?瑙e?抽??棰????藉??灏辮?寮猴?濂芥??浠ュ??娌葷??????娌℃??寰?濂界????娉?锛??充嬌??涓?涓???????涓?瀹跺?葷??锛?涔???瑕?璁╃??浜哄??涓???骞寸????锛?杩?涓??藉???ㄦ不??锛??闆???濡?????浜?涓?绉??拌??锛???浜哄????瑕???涓?涓????灏辮?藉交搴?娌繪??锛???璋?濂界????????涓?瀹跺?葷??锛?浠?瑕?????宸ヤ?灏辨??杩????ラ????杩?涔?涓?绉??拌????涓?浜?锛?????锛?浠?灏辨????绗??跺????搴稿?諱???寤虹??澶у????借??宸辮?涓?涓??????界??涓??烘?ワ?浣???浠??芥??瀵煎??浜哄?誨共锛?寤虹??澶у?涓?瀹?瑕?????骞挎?锛?浠?缁???杩???椤圭??寰?澶?锛?浣?姣?涓?椤圭????寰?澶?缁???涓???浠?浜插??浜蹭負??濡????????芥??浠?浜插??浜蹭負锛??d?涓?杈?瀛????介?芥??骞茬????宸ヤ?浜???

?????矽???烘???瑰?葷??????????涓?????缁???宸ワ?浼??烘??瀹㈠?瑰?葷?????鋒??寰?寮哄?????瑙e?抽??棰??藉????????楂????????ユ????缁?????寰?澶?宸ュ??璇達?娓???姣?涓???瀛?????杩?宸ュ???剁???ㄦ????浣?涓?濡????℃??涓???瀛?????缁?锛?浣?杩?涓?娈墊?堕?村??锛?娓???瀛??????借В?沖伐??????杩?绋??虹?頒腑????绉??伴??棰???寮?绔?锛????寵?芥???哄???闆??????锛????插??瓒籌???涓烘????瑰?葷??灏變???涓?涓???涓?宸ョ?????缁?宸ヤ漢锛??????ヨ???ㄩ?㈠???鋒?????拌?藉????楂?绾у伐绋?甯????????烘????浼??烘??瀹㈠?瑰?誨?烘?ョ??瀛???宸???濂芥??濡?姝ゃ??

5.?IT琛?涓?涓?涔?浼??虹?拌??????姘?宸ュ??锛?

??????IT??????IT姘?宸ョ???叉?ㄥ?借??э?

http://news.csdn.net/a/20100316/217473.html

http://topic.csdn.net/u/20100317/16/2dba32e3-90f4-40b5-b1fd-0bf3709297c6.html?97395

??绱??绋?搴??????插??锛?杩????村?杈??哥????浜?锛?浣???锛???骞朵?????浠?浠?锛???????璇翠?浠???宸辨???斤?绋?搴???杩?涓???涓??藉?????鴻?稿?骞磋交??瀵?缈?锛?涓????舵??涓???澶╋?杩????d釜??涓?姣?IT琛?涓??存???轟???璇辨??????涓?杩?锛?绋?搴???姣???韬?浣?????锛?????锛?涓?璁╀???绋?搴???锛?浣??繪??娓告??锛???QQ涓?涔??ф?峰??韬?浣???锛?

SSH锛?struts,spring,hibernate锛???褰?????绠$??淇℃??绯葷????烘??????娴?琛??????ㄦ????锛?杩???涓??????藉?虹??,8骞翠?锛?搴?璇ュ?????浜?锛?纭?瀹?娌′?涔??版?????闆?ㄥ?矽???烘???????芥??杩?浜??╂??锛??ㄦ?ユ販楗???锛?杩???绠$?圭?ㄧ????姣?涓???澧????規?ョ??浜哄?烘???戒?SSH锛???浠ワ?SSH娌′?涔?浜?涓?璧風??锛?SSH杩?濂?涓?瑗垮?瑰?矽?????稿??涓?浜哄??灞??ヨ?達??戒??芥??涓烘?稿?绔?浜???锛??介?句互??澶ф?????涓?浜????稿???ㄦ??璋????稿?????锛?灏辨???d???SSH???ヨ??锛?浼??烘??瀹㈡????涓?????澶у?堕?戒???SSH?????規。娆$??椤圭??锛?纭?瀹?涓???涔???SH锛?浣???澶у???A绫葷??椤圭???芥??澧????規?ワ??界?舵病??????????锛?浣????ㄥ伐??姹???澶э?杩?涔?灏辨???借??????T??????IT姘?宸ョ???辨?ャ??

浣???锛?java涓???????SSH杩?濂?????锛?濡???浣?涓??蟲??涓?T????锛?濡???浣?涓??沖????蔣浠跺???锛??e氨涓??藉??瀛?SH锛?杩?涓?娌℃??澶?澶?????????????涓???缁?宸ョ???

2.?绗?璇?绛?棰???宸т??ュ共??棰?

璇存??锛?涓轟?????澶у?剁???堕?村????楂?瀛??????锛?涓?浜?杩??剁?ヨ???瑰??琚?绗?璇?姒?????浣???棰???涓???琚??跺?????????

??绛???棰?????璺?锛???姝i?㈠??杩頒?浜??烘?????稿??ヨ??锛??跺????杩頒?浜??規????涓?瑗匡????????ヤ?浜????娣昏?辯??涓?瑗褲??瑕?娉ㄦ????浜?涓??????娣昏?憋??????昏??娣昏凍??涓?瑗匡?涓?瑕???渚垮??涓?????绛?棰?????涔???峰??????瑕???绛?涓?涓??版????????棰?澶ф???璺???姝ラ?ゆ??锛???浠??沖共浠?涔?锛???涔?骞詫?骞茬??杩?绋?涓????頒?浠?涔???棰?锛??闆?ㄧ?ㄤ?涔??瑰??ヨВ?熾???跺????浠?璁茶?句???杩??蜂?涓???璺???

渚?濡?锛?璁?jax?訛???浠?甯???涓??瑰?????ョ???翠釜缃?椤碉????????瑰??缃?椤典腑??灞??ㄥ??瀹癸?渚?濡?锛??ㄦ?峰???¢??锛?绾ц??涓?????琛??涓??????惰???????ㄤ?缁??瑰?锛?灏辨??娴?瑙??ㄨ??宸辯?存?ュ?????″?ㄥ??璇鋒?锛????″?ㄨ????伴〉?????????椤甸???杩??峰氨涓?娴???浜???

瀵規???㈣??瀹??鎬腑??棰?????淇″???锛????ユ??淇″???锛?缁?????浣?璁插????锛?灏辨病淇″?浜?锛?????甯哥??瑙c????涓轟?瑙?寰?????澶?娣憋?浠??寵?頒?????浜?涓?瑗匡?????璁頒?浣?锛???浠ユ病淇″?浜?????????锛?????浜???锛?浠?璇村????浜???浣??扮?闆?ㄥ??瑕???浣?????瑙e敖??娓??闆?般?????$???拌〃杈懼?烘?ワ?灏卞?妫?浜???

杩?濂??㈣??棰?涓昏???????甯??╅?d?杩?娌℃??java杞?浠跺???瀹???宸ヤ?缁?楠?锛???姝e?ㄥ????瀵繪??ava杞?浠跺???宸ヤ????????ㄧ??璇??舵?村ソ?拌耽寰?绗?璇????㈣?????變?杩?濂??㈣??棰?娑????????村?娉?锛?寰?骞匡?寰???锛?澶у?朵????戒?澶╀袱澶╁氨??瀹???瀛???杩?濂??㈣??瀹??革??充嬌浣?宸茬?瀛??浜????崇??????锛??d??沖?涔???瑕?涓?涓??????堕?存???芥????????¤?濂??㈣??瀹??革???浠ワ?澶у?跺?璇ユ?╀???澶?锛?浠??垮?拌?濂??㈣??瀹??鎬??ヨ搗锛?灏辮??????ㄦ??澶╅?叉??涔?浣?瀛???朵腑????棰???锛??ョН??绱?锛?绛??闆?哄?婚?㈣???訛?涓????芥按?版???锛??㈣???跺氨???朵?娓稿????浣?浜???

绛?棰??訛???绛???浠?涔?锛???绛???浠?涔?浣??ㄥ??瑕?娉ㄦ??浠?涔?锛?杩??ㄥ??????瑕?锛?灞??拌??宸辯??蹇?寰?锛?

绛?妗???娈佃?藉????锛?灞?娆″????锛??$??娓??伴?介??甯擱??瑕?锛?浠?杩?浜?琛ㄩ?㈢??涓?瑗誇???浠ョ???轟?涓?浜虹??涔???????浜?椋??箋???$??绛???

瑕?璁蹭????虹??妗?????璺?杩?绋?锛?????璇翠?璁頒?绛?妗??????抽?藉??涓??ャ????绛?棰??崇????杈╄?鴻???绛?棰?灏辨??缁???浜鴻?查????????浜?瀹???绛?棰?涓?灞???浜?浠?涔??煎???褰㈠?锛?灏辨??瑕?灏???宸辯??瀛???灞??闆?烘?ワ?

????涓轟漢瀹堕??????ュ氨妯℃1涓ゅ??锛?浣?灏卞?????????娌″?姘?浜?锛?涓??㈠??绛?浜???浣?瑕?澶ц???版???哄?規?歸???寰?妯$???浣???瑙??癸?涓?瑕????㈣??瀹??沖???澶?楂?锛??跺??浠???浣?灏辨??宸?涓?澶???锛?浣??蟲?籌?濡???浠???浣???杩??諱?锛?浣?浠?浠ュ??灏辨????浜?浜?锛???涓???宸?涓?澶?????锛?

?充?灏變???姘達?濡???浣???搴?灞???锛??d??借?楂?宸ヨ?锛?濂芥??澶чゼ????浜?锛?娌℃??????杩??蟲?塊??宸ヨ?锛?灏卞?諱腑?蟲??缂轟?涔?琛ヤ?涔??э?灏??頒漢?虹?纭?瀹?寰?濂斤??ㄦ?℃???寸‘瀹?????杩?涓?浜?椤圭??锛??d??舵????浠ヨ??扮?稿?歸????宸ヨ?????

???告????绋?搴????寸??????瑕??ㄥ?扮??缂???????????涓????d?涓??′?澶??稿?崇????璋?椤圭??缁???锛?

1.???告?蟲??浠?涔??風??浜?.???擱?㈣??浼???浠?涔?,.3.绠?????涔???4???瘋揪?扮????涓???????锛??矽??涓?蹇???椤圭????????锛?

瀵逛?涓?浜????告?ュ?頒?涓?浜?椤圭??锛??蟲????涓?浜???涓?绾х??绋?搴???杩??ュ府?╁??浠g??锛?瀹???杩?涓?椤圭??锛?浣??寸????????浠???涓?涓???????搴?锛?杩???浠ュ????杩???涓?椤圭????缁????????浠??????ゆ???d?缂?????????搴?濂斤???姝eソ??杩??鎬技椤圭???????碉?瀹???涓?锛?杩?绉?楸煎???????煎??????靛苟涓?甯歌????跺?????稿?娓?妤?锛???瑕?????杩??ョ??浜烘????????寰????斤??d?浠?涔?椤圭???藉??浠ュ???烘?ワ????告??浜轟???璁╀??婚??澶???浣?浠ュ????椤圭??锛???????涓?涓??伴」??锛?涓??℃?歸???浣???瑕?杩?浜?椤圭???㈤??锛????跺氨?芥???°????浠ワ?澶у??版??????浣??ㄦ?????d?缂???绾у????绋?搴????朵?娌℃?????芥?????闆??杩?绫諱技椤圭????浜猴?涔?涓?浼??繪???繪?懼??杩?绫諱技椤圭????浜猴??ㄤ漢??浣?涔?涓????蟲??浣???杩?锛??跺????浣?浠ュ????杩???椤圭??????涓???锛???浠ワ??ㄤ漢??浣??寸??????杩??ョ??浜哄?矽??ㄥ?扮??缂???????????搴??闆????鳳???????瀹?涓???瀹?锛?椤圭??????瑕?璺???寮????㈤??璧幫????跺氨娌¢??棰????ら????涓?浜???甯鎬?涓???琛?涓?锛?瑕??????瑰??楂?绾х??寮???浜哄????绯葷?????甯?锛???????浣????瑰??娉ㄩ??浠???椤圭??缁?楠???琛?涓?缁?楠?锛?瑕??繪?懼?拌?涓?楂???锛????告???沖?椤圭????涓?浣???椤圭????缁???锛?杩??風??浜洪??甯擱?戒?????杩?甯歌?????娓????繪????杩??ョ??锛???????杩???绉???娈墊??杩??ョ??锛?杩????典?????浠?澶╄?璁ㄨ?虹?????翠腑??

????瀛?????戒????斤?浜哄?跺??涓???棰?灏辨??浣???娣辨????烘?ヤ?锛???瑕???涓?浜??蜂????????癸?灏卞?瀹規?????轟???????杩???????锛?寰?瀹圭???轟???????娣卞害??瀹???锛???浠ワ????????ヤ?寰????矽??????锛?蹇?椤繪????瀹?瀹???

?變?椤圭????绉?绫葷?澶?锛?娑????扮?闆????娲諱腑????琛???涓?锛?浠?涔?浜??卞???ㄧ??涓??¢?芥??锛?渚?濡?锛???搴??塊?撮?瀹?绠$??锛????歌濺杈?璋?搴??$??锛?瀛??¤?劇???瀹ょ?$??锛?瓒?甯?杩???瀛?绠$??锛??ヨ????瀹圭?$??锛?绛?绛?????????涓?涓?绛?绛?锛?浣???锛?涓?绠℃??浠?涔?椤圭??锛????ㄧ???????芥????浠?瀛?????d?????娴?琛???甯哥?ㄧ????????????濂姐??缁?楠?涓闆??锛???椤圭?????烘?ョ??????楂?浜?锛?绋?搴??寸ǔ瀹????村?規??缁存?や?锛?????宸??癸?纰扮?纾?纾?????涔??芥??椤圭?????烘?ワ????????????ㄦ???跨?廣??杩?宸ョ??娆℃?闆??癸?绋?搴?浠g????寰?宸?浜?锛??ㄧ??????绗ㄦ???廣??濡???涓?涓?浜轟???瀹?瀹??ㄥ?ㄥ??杩???涓?椤圭??锛?浠???涓?澶??沖?璇ラ」????涓??$??锛?瀵瑰?朵腑??涓?浜??蜂?缁????存??涓?绐?涓??ワ?(濡???????浣??ュ???句功绠$??锛?浣?椤圭??缁???璇翠???杩?姹借濺璋?搴???f???介??浣?姹借濺璋?搴??蜂???涔???浜???锛?涓?浼?锛???浠ワ?浣?寰?瀹規????娣瘋??葷??)??涓?涓?绋?搴??????翠釜??涓???娑?涓??藉??瀹??ㄥ?ㄥ??瀹?瀹??存?村???烘?ョ??椤圭??娌″??涓?锛??村??璇村?ㄥ?涓?涓???琛?涓???椤圭??浜?锛?????绋?搴????存??涓?杈?瀛??藉?????ㄥ????涓?涓?琛?涓???椤圭??锛?缁???浠?灏辨??浜?杩?涓?琛?涓???涓?瀹?涓??ㄥ共涓?浠朵???瀹朵?)????浠ワ??????㈣??瀹???甯告病姝eソ浜茶韓缁???杩?浣?绠????????d?椤圭??锛?浠?涓????藉?婚??浣??????d?椤圭?????蜂?缁???锛????????芥?娉??伴??浣?杩?涓?椤圭????澶?灏?浜哄????锛???浜?澶??挎?堕?達?寮?????杩?绋?锛?浣??ㄥ??椤圭????杩?绋?涓???浠?涔?蹇?寰????惰?鳳??ㄧ??浠?涔?????绛????????棰?锛???浠ワ?绠???涓???椤圭??缁?????浠ュ????寰?澶?姘村??锛?寰?瀹規??浣???锛??????㈣??瀹?涔???娉??ㄩ」??涓?????浣?????浼???

绠???璇ユ??涔???锛?绮鵑???d?????锛???涓?浜?浠?涔?椤圭??缁???

??椤圭????涓轟?宸╁?哄???墊椿?村??杩??ㄦ????锛?澧?寮哄?????瓒e?蟲?э???????椤圭????娴?绋?锛???寰?涓?浜?涓?涓?璇劇?涓???娉??峰????規??椤圭??缁?楠?锛?澧?寮鴻??宸遍?㈣????淇″???璁茬??椤圭??搴?璇ョ??瀹?????????浠峰?鹼?????锛?琛ㄩ?????椤圭??锛?瀹???涓?杩????ヨ???圭???村??锛?瀵瑰琺?烘?????瑰??澧?寮哄?????瓒e?蟲?э?浣???娉??峰?瀹?????椤圭??缁?楠???锛?椤圭??涓昏???澧???浣?缁?楠?????淇″害锛??峰??村??㈣???轟?锛???姝h?戒??芥?懼?闆伐浣?锛??懼?闆ソ宸ヤ?锛?涓昏???浣?????涓?????澶?浜?锛?锛?濂界???㈣??瀹???涓?灏辮?介?㈠?轟?????????宸ヤ?缁?楠?锛?浠?浠???????浠ュ??????哥??浜哄??浜?锛?骞朵???寮?濮???杩?绋???缁???锛???浣???涔?缂???

寤鴻??澶у?跺敖??寮???宸辯??blog锛?????姣?澶╁??????blog???ㄧ????涓???涓???宸辯??blog?闆??锛???浠ュ?杞?杞戒?浜???????绔???

3.?绗?璇?棰?涔?Java?虹??ㄥ??

?虹??ㄥ????椤哄?锛??烘??璇?娉?锛?绫葷?稿?崇??璇?娉?锛????ㄧ被??璇?娉?锛?缁ф?跨?稿?崇??璇?娉?锛?寮?甯哥??璇?娉?锛?绾跨???璇?娉?锛???????璇?娉?锛?io???璇?娉?锛??????烘?歸?㈢??璇?娉?锛??朵?????浜?棰??ヨ??缃?涓??????寸??锛???浜?棰??ヨ??浼??烘??瀹㈠?????㈣????????棣?锛?璇寸????锛?灏??頒?浜?缃?涓????㈣??棰?锛??????????舵???????瀛??ㄤ環?鹼?

1??涓?涓?".java"婧???浠朵腑??????浠ュ????澶?涓?绫夥?涓??????ㄧ被锛?锛???浠?涔????訛??

??浠ユ??澶?涓?绫夥?浣????芥??涓?涓?public??绫夥?骞朵?public??绫誨??蹇?椤諱???浠跺???鎬??淬??

2??Java??娌℃??goto??

java涓???淇???瀛?锛??闆?ㄦ病????ava涓?浣跨?ㄣ??

3??璇磋??amp;??&&???哄?????

&??&&?藉??浠ョ?ㄤ??昏?涓???杩?绠?绗??琛ㄧず?昏?涓?锛?and锛?锛?褰?杩?绠?绗?袱杈圭??琛ㄨ揪寮???缁????戒負true?訛??翠釜杩?绠?缁?????涓?rue锛?????锛???瑕???涓??逛負false锛???缁???涓?alse??

&&杩??鋒????璺??????斤??沖???绗?涓?涓?琛ㄨ揪寮?涓?alse锛???涓???璁$??绗?浜?涓?琛ㄨ揪寮?锛?渚?濡?锛?瀵逛?if(str?!=?null?&&?!str.equals(????))琛ㄨ揪寮?锛?褰?str涓?ull?訛????㈢??琛ㄨ揪寮?涓?浼??ц?锛???浠ヤ?浼??虹??ullPointerException濡???灏?&&?逛負&锛???浼?????ullPointerException寮?甯搞??If(x==33?&?++y>0)?y浼?澧??匡?If(x==33?&&?++y>0)涓?浼?澧???

&杩???浠ョ?ㄤ?浣?杩?绠?绗??褰?&??浣?绗?袱杈圭??琛ㄨ揪寮?涓???boolean绫誨???訛?&琛ㄧず??浣?涓???浣?锛???浠???甯鎬嬌??x0f?ヤ?涓?涓??存?拌?琛?&杩?绠?锛??ヨ?峰??璇ユ?存?扮????浣?4涓?bit浣?锛?渚?濡?锛?0x31?&?0x0f??缁???涓?x01???

澶?娉??杩???棰???璇翠袱?????卞???癸???璇村??amp;&??&???規??涔?澶?锛?骞跺??涓句?浜?缁??哥??渚?瀛??ヨ〃????宸辯??瑙i??褰繪繁?ャ??瀹???缁?楠?涓闆?????

4????AVA涓?濡?浣?璺沖?哄?????澶???宓?濂?寰???锛??

??ava涓?锛?瑕??寵煩?哄???寰???锛???浠ュ?ㄥ??㈢??寰???璇??ュ??瀹?涔?涓?涓????鳳??跺???ㄩ??灞?寰???浣???浠g??涓?浣跨?ㄥ甫?????風??break?璇??ワ??沖??璺沖?哄?灞?寰?????渚?濡?锛?

ok:

for(int?i=0;i<10;i++)

{

for(int?j=0;j<10;j++)

{

System.out.println(??i=???+?i?+???,j=???+?j);

if(j?==?5)?break?ok;

}

}?

???锛???涓?浜洪??甯稿苟涓?浣跨?ㄦ???瘋?绉??瑰?锛?????璁╁?灞???寰????′歡琛ㄨ揪寮???缁?????浠ュ???伴??灞?寰???浣?浠g?????у?訛?渚?濡?锛?瑕??ㄤ?缁存?扮?涓??ユ?懼?版??涓??闆????

int?arr[][]?=?{{1,2,3},{4,5,6,7},{9}};

boolean?found?=?false;

for(int?i=0;i<arr.length?&&?!found;i++)

{

for(int?j=0;j<arr[i].length;j++)

{

System.out.println(??i=???+?i?+???,j=???+?j);

if(arr[i][j]??==?5)?

{

found?=?true;

break;

}

}

}?

?

5??switch璇??ヨ?藉????ㄥ??yte涓?锛??藉????ㄥ??ong涓?锛??藉????ㄥ??tring涓???

??witch锛?expr1锛?涓?锛?expr1???芥??涓?涓??存?拌〃杈懼???????涓懼父??锛??村ぇ瀛?浣?锛?锛??存?拌〃杈懼???浠ユ??int?烘??绫誨????Integer??瑁?绫誨??锛??變?锛?byte,short,char?藉??浠ラ????杞???負int锛???浠ワ?杩?浜?绫誨??浠ュ??杩?浜?绫誨??????瑁?绫誨??涔?????浠ョ?????劇?訛?long??String绫誨???戒?绗???switch??璇?娉?瑙?瀹?锛?骞朵?涓??借???寮?杞??㈡??int绫誨??锛???浠ワ?瀹?浠?涓??戒??ㄤ?swtich璇??ヤ腑???

6??short?s1?=?1;?s1?=?s1?+?1;??浠?涔?????short?s1?=?1;?s1?+=?1;??浠?涔?????

瀵逛?short?s1?=?1;?s1?=?s1?+?1;??變?s1+1杩?绠??朵????ㄦ????琛ㄨ揪寮???绫誨??锛???浠ョ?????int??锛???璧??肩?short绫誨??s1?訛?缂?璇??ㄥ??ュ????瑕?寮哄?惰漿?㈢被??????璇???

瀵逛?short?s1?=?1;?s1?+=?1;?變??+=???java璇?瑷?瑙?瀹???杩?绠?绗??java缂?璇??ㄤ?瀵瑰??杩?琛??規??澶???锛???姝ゅ??浠ユ?g‘缂?璇????

7??char??????涓??戒??藉??璐?涓?涓?涓???姹?瀛??涓轟?涔???

char?????????ㄦ?ュ????nicode缂?????瀛?绗???锛?unicode缂???瀛?绗???涓?????浜?姹?瀛?锛???浠ワ?char??????涓?褰??跺??浠ュ???ㄦ?瀛?????涓?杩?锛?濡?????涓??規????姹?瀛?娌℃??琚???????nicode缂???瀛?绗???涓?锛??d?锛?杩?涓?char??????涓?灏變??藉???ㄨ?涓??規??姹?瀛???琛ュ??璇存??锛?unicode缂??????ㄤ袱涓?瀛???锛???浠ワ?char绫誨????????涔??????ㄤ袱涓?瀛?????

澶?娉????????ㄥ????绛??界?朵????ㄦ?i?㈠??绛?棰???锛?浣???锛?涓轟?灞??拌??宸辯??瀛?????琛ㄧ?拌??宸卞?歸??棰???瑙g????褰繪繁?ワ???浠ュ??绛?涓?浜??稿?崇???ヨ??锛????扮?ユ??涓?瑷?锛?瑷???涓?灏姐???

8???ㄦ???????????規?绠???涔?浠?绛??煎????

2?<<?3锛?

??涓哄?涓?涓??闆乏绉?浣?锛?灏辯?稿?浜?涔?浠ヤ?2??n娆℃?癸??d?锛?涓?涓??頒?浠???瑕?灏??跺乏绉?浣??沖??锛???浣?杩?绠?cpu?存?ユ??????锛???????楂?锛???浠ワ?2涔?浠?绛??煎?????????????規???2?<<?3??

9??璇瘋?捐?′?涓?涓??句嚎??璁$????

棣???瑕????借???棰????????ョ?規??浠?涔?锛?涓???澶у?堕???瑕?瀵矽?$???哄??????搴?灞?缁???瑕?娓?妤???瑕??ラ??????娉???浣?杩?绠????????ラ??璁$???轟腑??绠???杩?绠?浼?????瓒????????碉?浜???瑕??峰?涓?瀹????㈠??瀵矽薄??璁捐?℃???熾??

棣???锛?璁$???轟腑?ㄥ?哄???伴??????涓?瀛????ュ???ㄧ???闆?鹼???浠ヨ?$???轟腑?藉?琛ㄧず???闆?兼????涓?瀹??????寸??锛?涓轟?渚誇?璁茶В????瑙o???浠???浠?yte?绫誨?????存?頒負渚?锛?瀹???涓?瀛???杩?琛?瀛????琛ㄧず????澶ф?闆?艱???翠負-128??127??-1?ㄥ??瀛?涓?瀵瑰???浜?杩??舵?版??涓?1111111锛?濡???涓や釜-1?稿??锛?涓?????Java杩?绠??剁??绫誨??????锛?杩?绠???浼?浜х??杩?浣?锛?浜?杩??剁???涓?,11111110锛??變?杩?浣???瓒?杩?浜?byte绫誨????瀛??ㄧ┖?達???浠ヨ?浣??ㄥ??琚???寮?锛??蟲??缁???缁???涓?1111110锛?涔?灏辨??-2锛?杩?姝eソ?╃?ㄦ孩浣????瑰?瀹??頒?璐??扮??杩?绠???-128?ㄥ??瀛?涓?瀵瑰???浜?杩??舵?版??涓?0000000锛?濡???涓や釜-128?稿??锛?涓?????Java杩?绠??剁??绫誨??????锛?杩?绠???浼?浜х??杩?浣?锛?浜?杩??剁???涓?,00000000锛??變?杩?浣???瓒?杩?浜?byte绫誨????瀛??ㄧ┖?達???浠ヨ?浣??ㄥ??琚???寮?锛??蟲??缁???缁???涓?0000000锛?涔?灏辨??0锛?杩??風??缁????劇?朵?????浠???????锛?杩?璇存??璁$???轟腑??绠???杩?绠???浼?????瓒??????電??锛?涓や釜?闆?肩??杩?绠?缁???涓??借?杩?璁$???轟腑??璇ョ被?????闆?艱???淬???變?Java涓?娑???琛ㄨ揪寮?杩?绠??剁??绫誨?????ㄦ????锛???浠???娉???yte绫誨???ュ??婕?绀鴻?绉???棰????拌薄??瀹?楠?锛?澶у?跺??浠ョ?ㄤ????涓?浣跨?ㄦ?存?闆??瀹?楠???渚?瀛?绋?搴?浣?楠?涓?涓?锛?

int?a?=?Integer.MAX_VALUE;

int?b?=?Integer.MAX_VALUE;

int?sum?=?a?+?b;

System.out.println(??a=??+a+??,b=??+b+??,sum=??+sum);

??涓?????long绫誨??锛??變?int??姝f?拌???翠負2??31娆℃?癸?琛ㄧず????澶ф?闆?肩害绛?浜?2*1000*1000*1000锛?涔?灏辨??20浜跨??澶у?锛???浠ワ?瑕?瀹??頒?涓?涓??句嚎??璁$???????浠?寰???宸辮?捐?′?涓?绫誨??浠ョ?ㄤ?琛ㄧず寰?澶х???存?幫?骞朵???渚?浜?涓????涓?涓??存?拌?琛?????涔??ょ?????斤?澶ф????藉?涓?锛?

锛?锛?杩?涓?绫誨???ㄦ??涓や釜????????锛?涓?涓?琛ㄧず绗??鳳????涓??ㄥ?????扮?琛ㄧず?闆?肩??浜?杩??舵??

锛?锛???涓?涓??????規?锛???涓?涓???????澶?浣??闆?肩??瀛?绗?覆杞??㈠?闆???ㄧ??绗??峰??瀛????扮?涓?

锛?锛???渚?????涔??ょ??????

public?class?BigInteger

{

int?sign;

byte[]?val;

public?Biginteger(String?val)

{

sign?=?;

val?=?;

}

public?BigInteger?add(BigInteger?other)

{

}

public?BigInteger?subtract(BigInteger?other)

{

}

public?BigInteger?multiply(BigInteger?other)

{

}

public?BigInteger?divide(BigInteger?other)

{

}

}

澶?娉??瑕??沖???鴻?涓?绫葷??瀹??翠唬??锛?????甯稿?????锛?濡??????磋叮??璇?锛???浠ュ????jdk涓???甯???java.math.BigInteger绫葷??婧??????㈣????浜轟??ラ??璋??戒????藉?ㄧ???堕?村?????鴻?涓?绫葷??瀹??翠唬????锛?浠?瑕?????浣???????杩??歸?㈢??姒?蹇靛????璇?锛?浠?????瑕???杩??????ヤ????藉??锛???浠ワ?浣?涓?瑕???涓鴻??宸辨??娉????哄???寸????缁?缁???灏辨?懼?绛?杩???棰?锛?浣?瑕?????灏辨??浣?姣???浜哄??寰?澶?锛?璇???浣?姣???浜哄己锛?浣???杩??歸?㈢?????蟲??璇?灏卞??浠ヤ?锛?姣?绔???浜哄???借?棰??????????界??涓???锛?浠?涔??芥病??锛?浣?瑕????绛?杩???棰?锛??充嬌??绛?浜?涓??ㄥ??锛??d?涓??d?浠?涔??戒?????浜哄?哄???烘?ワ???寮?浜?璺?绂夥?绠?????瀛?涓???楂?涓?锛??轟?褰??跺氨灞?浜?浣?浜??????锛?绛?妗?涓???妗??朵唬??涔?寰???瑕?锛?浣??頒?涓?浜??㈠??瀵矽薄璁捐?$????搴?锛??瑰?????朵腑???規??藉??寰?涓?涓?锛??ㄧ???辨????璇?寰?绮懼??锛?杩?涔????藉????缁?楠???涓?涓??с???辮??姘村鈎绛?澶?涓??歸?㈢??浣??幫?浼?缁?浜虹??涓?寰?濂界???拌薄锛??ㄧ?绋??藉?????朵??歸?㈡?′歡宸?涓?澶??????典?锛??辮??濂介?や???浠ヤ嬌浣??峰??村??轟?澶?锛???姘村??浠ラ???轟????????

10??浣跨??inal?抽??瀛?淇?楗頒?涓??????訛???寮??ㄤ??藉??锛?杩???寮??ㄧ??瀵矽薄涓??藉??锛??

浣跨??inal?抽??瀛?淇?楗頒?涓??????訛?????寮??ㄥ????涓??藉??锛?寮??ㄥ????????????瀵矽薄涓?????瀹矽?????浠ユ?瑰??????渚?濡?锛?瀵逛?濡?涓?璇??ワ?

?final?StringBuffer?a=new?StringBuffer("immutable");

?ц?濡?涓?璇??ュ??ュ??缂?璇?????璇?锛?

a=new?StringBuffer("");

浣???锛??ц?濡?涓?璇??ュ????浠ラ??杩?缂?璇?锛?

a.append("?broken!");?

??浜哄?ㄥ??涔??規??????版?訛????芥?抽???ㄥ?涓?褰㈠??ラ?繪?㈡?規????ㄤ慨?逛?杩??ョ?????闆?矽薄锛?

public?void?method(final??StringBuffer??param)

{

}?

瀹???涓?锛?杩?????涓??扮??锛??ㄨ?ユ?規????ㄤ??跺??浠ュ???濡?涓?浠g???ヤ慨?瑰???闆?矽薄锛?

param.append("a");

11??"=="??equals?規?绌剁????浠?涔??哄??锛?

锛???????涓?涓?涓?瑗胯?存?妤?锛??跺????璇存?妤????涓?锛?杩??鳳?瀹?浠????哄?????跺氨?烘?ヤ?锛?娣峰?ㄤ?璧瘋?達???寰??捐?存?妤?锛?

==??浣?绗???ㄧ?ㄦ?ユ??杈?涓や釜???????兼?????哥??锛?涔?灏辨???ㄤ?姣?杈???????瀵瑰?????瀛?涓???瀛??ㄧ???闆?兼?????稿??锛?瑕?姣?杈?涓や釜?烘??绫誨?????版????涓や釜寮??ㄥ?????????哥??锛????界??=??浣?绗???

濡???涓?涓????????????版????瀵矽薄绫誨????锛??d?锛?杩??跺??娑???浜?涓ゅ????瀛?锛?瀵矽薄??韬????ㄤ?????瀛?锛?????瀛?锛?锛?????涔????ㄤ?????瀛?锛?渚?濡?Objet?obj?=?new?Object();????obj??涓?涓???瀛?锛?new?Object()?????涓???瀛?锛?姝ゆ?訛?????obj??瀵瑰?????瀛?涓?瀛??ㄧ???闆?煎氨??瀵矽薄???ㄧ???e????瀛???棣??闆????瀵逛?????瀵矽薄绫誨????????锛?濡???瑕?姣?杈?涓や釜??????????????涓?涓?瀵矽薄锛??寵???杩?涓や釜??????瀵瑰?????瀛?涓????闆?兼?????哥??锛?杩??跺??灏遍??瑕???=??浣?绗??琛?姣?杈???

equals?規????ㄤ?姣?杈?涓や釜??绔?瀵矽薄????瀹規?????稿??锛?灏卞ソ姣??繪??杈?涓や釜浜虹???跨?告?????稿??锛?瀹?姣?杈???涓や釜瀵矽薄????绔?????渚?濡?锛?瀵逛?涓??㈢??浠g??锛?

String?a=new?String("foo");

String?b=new?String("foo");

涓ゆ??ew璇??ュ??寤轟?涓や釜瀵矽薄锛??跺????,b杩?涓や釜????????????浜??朵腑涓?涓?瀵矽薄锛?杩???涓や釜涓?????瀵矽薄锛?瀹?浠???棣??闆????涓?????锛?????b涓?瀛??ㄧ???闆?兼??涓??稿????锛???浠ワ?琛ㄨ揪寮?a==b灏?杩???false锛???杩?涓や釜瀵矽薄涓?????瀹規???稿????锛???浠ワ?琛ㄨ揪寮?a.equals(b)灏?杩???true??

?ㄥ????寮???涓?锛???浠?缁?甯歌?姣?杈?浼???杩?琛??ョ??瀛?绗?覆??瀹規??????锛?渚?濡?锛?String?input?=???input.equals(??quit??)锛?璁稿?浜虹?涓?娉ㄦ??灏變嬌??=杩?琛?姣?杈?浜?锛?杩?????璇???锛???渚誇?缃?涓??懼??涓?椤圭??瀹???????瀛??棰?????锛????㈠氨??澶ч??杩??風????璇???璁頒?锛?瀛?绗?覆??姣?杈??烘??涓??芥??浣跨??quals?規???

濡???涓?涓?绫繪病????宸卞??涔?equals?規?锛??d?瀹?灏?缁ф??bject绫葷??equals?規?锛?Object绫葷??equals?規???瀹??頒唬??濡?涓?锛?

boolean?equals(Object?o){

return?this==o;

}

杩?璇存??锛?濡???涓?涓?绫繪病????宸卞??涔?equals?規?锛?瀹?榛?璁ょ??equals?規?锛?浠?Object?绫葷戶?跨??锛?灏辨??浣跨??=??浣?绗??涔????ㄦ??杈?涓や釜??????????瀵矽薄????????涓?瀵矽薄锛?杩??跺??浣跨??quals??浣跨??=浼?寰??闆???風??缁???锛?濡???姣?杈?????涓や釜??绔???瀵矽薄???昏???false??濡???浣?缂?????绫誨????藉?姣?杈?璇ョ被??寤虹??涓や釜瀹?渚?瀵矽薄????瀹規?????稿??锛??d?浣?蹇?椤昏???equals?規?锛??變???宸卞??浠g???ュ?沖???ㄤ?涔????靛?沖??璁や負涓や釜瀵矽薄????瀹規???稿??????

12????????????瀹?渚????????哄??锛??

?ㄨ??娉?瀹?涔?涓????哄??锛???????????瑕???static?抽??瀛?锛???瀹?渚?????????涓?????

?ㄧ?搴?杩?琛??剁???哄??锛?瀹?渚?????灞?浜???涓?瀵矽薄??灞??э?蹇?椤誨??寤轟?瀹?渚?瀵矽薄锛??朵腑??瀹?渚???????浼?琚?????绌洪?達????戒嬌?ㄨ?涓?瀹?渚???????????????涓?灞?浜???涓?瀹?渚?瀵矽薄锛?????灞?浜?绫夥???浠ヤ?绉頒負绫誨????锛???瑕?绋?搴???杞戒?绫葷??瀛?????锛?涓??ㄥ??寤轟換浣?瀹?渚?瀵矽薄锛?????????灏變?琚?????绌洪?達?????????灏卞??浠ヨ?浣跨?ㄤ????諱?锛?瀹?渚?????蹇?椤誨??寤哄?矽薄??????浠ラ??杩?杩?涓?瀵矽薄?ヤ嬌???????????????浠ョ?存?ヤ嬌?ㄧ被???ュ??ㄣ??

渚?濡?锛?瀵逛?涓??㈢??绋?搴?锛???璁哄??寤哄?灏?涓?瀹?渚?瀵矽薄锛?姘歌??藉??????浜?涓?涓?staticVar????锛?骞朵?姣???寤轟?涓?瀹?渚?瀵矽薄锛?杩?涓?staticVar灏變???1锛?浣???锛?姣???寤轟?涓?瀹?渚?瀵矽薄锛?灏變?????涓?涓?instanceVar锛??沖???藉????澶?涓?instanceVar锛?骞朵?姣?涓?instanceVar???奸?藉??????浜?1娆°??

public?class?VariantTest

{

public?static?int?staticVar?=?0;?

public?int?instanceVar?=?0;?

public?VariantTest()

{

staticVar++;

instanceVar++;

System.out.println(??staticVar=???+?staticVar?+???,instanceVar=???+?instanceVar);

}

}

澶?娉??杩?涓?瑙g???や?璇存?妤?涓よ?????哄??澶?锛?????杩??ㄤ?涓??蜂???搴??ㄤ?瀛??ヨ?存??涓よ????宸?寮?锛?浣??頒???宸辨??寰?濂界??瑙h?撮??棰???璁捐?℃?渚????藉??锛???缁存???鳳?瓒?杩?涓???绋?搴???锛?????浣??藉??锛?

13????????浠ヤ?涓?涓?static?規????ㄥ???哄?歸??static?規???璋?????

涓???浠ャ????涓洪??static?規???瑕?涓?瀵矽薄?寵???ㄤ?璧風??锛?蹇?椤誨??寤轟?涓?瀵矽薄??锛?????浠ュ?ㄨ?ュ?矽薄涓?杩?琛??規?璋??????static?規?璋??ㄦ?朵???瑕???寤哄?矽薄锛???浠ョ?存?ヨ??ㄣ??涔?灏辨??璇達?褰?涓?涓?static?規?琚?璋??ㄦ?訛????借?娌℃????寤轟換浣?瀹?渚?瀵矽薄锛?濡???浠?涓?涓?static?規?涓????哄?歸??static?規???璋?????d釜??static?規????寵???闆??涓?瀵矽薄涓??????杩?涓??昏???娉???绔?锛???浠ワ?涓?涓?static?規????ㄥ???哄?歸??static?規???璋??ㄣ??

14??Integer涓?int???哄??

int??java??渚???8绉???濮??版??绫誨??涔?涓???Java涓烘??涓???濮?绫誨????渚?浜?灏?瑁?绫夥?Integer??java涓?nt??渚???灏?瑁?绫彙??int??榛?璁ゅ?間負0锛???Integer??榛?璁ゅ?間負null锛???nteger??浠ュ?哄???烘??璧??煎???間負0???哄??锛?int????娉?琛ㄨ揪?烘??璧??肩?????碉?渚?濡?锛?瑕??寵〃杈懼?烘病????????璇?????璇???缁╀負0???哄??锛??????戒嬌??nteger????SP寮???涓?锛?Integer??榛?璁や負null锛???浠ョ??l琛ㄨ揪寮??ㄦ????妗?涓??劇ず?訛??間負绌虹?藉??绗?覆锛???int榛?璁ょ??榛?璁ゅ?間負0锛???浠ョ??l琛ㄨ揪寮??ㄦ????妗?涓??劇ず?訛?缁???涓?锛???浠ワ?int涓?????浣?涓?eb灞???琛ㄥ???版????绫誨????

??ibernate涓?锛?濡???灏?OID瀹?涔?涓?nteger绫誨??锛??d?Hibernate灏卞??浠ユ?規???跺?兼????負null???ゆ??涓?涓?瀵矽薄??????涓存?剁??锛?濡???灏?OID瀹?涔?涓轟?int绫誨??锛?杩???瑕???bm??灏???浠朵腑璁劇疆??nsaved-value灞??т負0??

???锛?Integer??渚?浜?澶?涓?涓??存?扮?稿?崇????浣??規?锛?渚?濡?锛?灏?涓?涓?瀛?绗?覆杞??㈡???存?幫?Integer涓?杩?瀹?涔?浜?琛ㄧず?存?扮????澶у?煎????灏??肩??甯擱????

15??Math.round(11.5)绛??煎?灏???Math.round(-11.5)绛??煎?灏??

Math绫諱腑??渚?浜?涓?涓?涓????存???崇???規?锛?ceil??floor??round锛?杩?浜??規???浣??ㄤ?瀹?浠????辨????绉扮????涔??稿?瑰?锛?渚?濡?锛?ceil???辨????涔???澶╄?辨?匡?璇ユ?規?灏辮〃绀哄??涓????達???浠ワ?Math.ceil(11.3)??缁???涓?2,Math.ceil(-11.3)??缁?????-11锛?floor???辨????涔????版?匡?璇ユ?規?灏辮〃绀哄??涓????達???浠ワ?Math.floor(11.6)??缁???涓?1,Math.floor(-11.6)??缁?????-12锛????炬???$????round?規?锛?瀹?琛ㄧず??????浜??モ??锛?绠?娉?涓?ath.floor(x+0.5)锛??沖????ョ???闆????涓?0.5??????涓????達???浠ワ?Math.round(11.5)??缁???涓?2锛?Math.round(-11.5)??缁???涓?11??

15??涓??㈢??浠g????浠?涔?涓?濡ヤ?澶??

1.?if(username.equals(??zxx??){}

2.int??x?=?1;

return?x==1?true:false;

1??璇瘋?村?轟??ㄥ??public锛?private锛?protected锛?浠ュ??涓????剁???哄??

杩???涓?浣??ㄥ??????瑙????村?涓?琛ㄦ??绀恒??

璇存??锛?濡????ㄤ慨楗扮????绱?涓??㈡病????浠諱?璁塊??淇?楗扮?????琛ㄧずfriendly??

浣??ㄥ??????褰???绫宦???涓?package?瀛?瀛?绫宦??朵?package?

public???????????????????????????????????

protected???????????????????????????????

friendly???????????????????????????????

private???????????????????????????????

澶?娉????瑕?璁頒?浜???4绉?璁塊??????锛?4涓?璁塊?????達??跺??灏??ㄩ???????村?ㄦ按骞沖?????存?瑰??涓?????????浠?灏??闆ぇ??浠?澶у?闆???椤哄?????锛?灏卞?瀹規???誨?轟??㈢???句???

2??Overload??Override???哄????Overloaded???規???????浠ユ?瑰??杩????肩??绫誨????

Overload????杞界??????锛?Override??瑕?????????锛?涔?灏辨????????

??杞?verload琛ㄧず??涓?涓?绫諱腑??浠ユ??澶?涓???绉扮?稿?????規?锛?浣?杩?浜??規??????闆??琛ㄥ??涓??稿??锛??沖???頒釜?版??绫誨??涓???锛???

????Override琛ㄧず瀛?绫諱腑???規???浠ヤ??剁被涓?????涓??規?????绉闆?????闆???ㄧ?稿??锛???杩?瀛?绫誨??寤虹??瀹?渚?瀵矽薄璋??ㄨ?涓??規??訛?灏?璋??ㄥ??绫諱腑??瀹?涔??規?锛?杩??稿?浜????剁被涓?瀹?涔????d釜瀹??ㄧ?稿?????規?缁?瑕???浜?锛?杩?涔????㈠??瀵矽薄缂?绋???澶????х??涓?绉?琛ㄧ?般??瀛?绫昏????剁被???規??訛????芥???剁被???烘?村???寮?甯革??????????虹?剁被???虹??寮?甯哥??瀛?寮?甯革???涓哄??绫誨??浠ヨВ?崇?剁被??涓?浜???棰?锛?涓??芥???剁被???村?????棰???瀛?绫繪?規???璁塊?????????芥???剁被???村ぇ锛?涓??芥?村???濡????剁被???規???private绫誨??锛??d?锛?瀛?绫誨??涓?瀛??ㄨ????????訛??稿?浜?瀛?绫諱腑澧???浜?涓?涓??ㄦ?扮???規???

?充?Overloaded???規???????浠ユ?瑰??杩????肩??绫誨??杩?涓???棰?锛?瑕???浣???搴??抽??浠?涔????杩?涓?棰???寰?妯$???濡?????涓?Overloaded???規??????闆??琛ㄤ?涓??鳳?瀹?浠???杩?????绫誨??褰??朵???浠ヤ?涓??楓??浣???浼拌?′??抽??????棰???锛?濡???涓や釜?規??????闆??琛ㄥ???ㄤ??鳳???????浠ヨ?╁??浠???杩????間????ュ???伴??杞?verload??杩???涓?琛???锛???浠???浠ョ?ㄥ??璇?娉??ヨ?存??杩?涓???棰?锛???涓烘??浠????跺??璋??ㄤ?涓??規??朵???浠ヤ?瀹?涔?杩???缁???????锛??充?瑕??沖??惰???缁???锛?渚?濡?锛???浠?璋???ap.remove(key)?規??訛??界??emove?規???杩????鹼?浣?????浠???甯擱?戒?浼?瀹?涔??ユ?惰???缁?????????锛?杩??跺????璁捐?ョ被涓???涓や釜??绉闆?????闆??琛ㄥ???ㄧ?稿?????規?锛?浠?浠???杩???绫誨??涓???锛?java灏辨??娉?纭?瀹?缂?绋?????搴????寵??ㄥ??涓??規?浜?锛???涓哄????娉???杩?杩???缁???绫誨???ュ?ゆ?????

override??浠ョ炕璇?涓鴻???锛?浠?瀛??㈠氨??浠ョ?ラ??锛?瀹???瑕???浜?涓?涓??規?骞朵?瀵瑰?堕????锛?浠ユ?杈懼?頒?????浣??ㄣ??瀵規??浠??ヨ?存????????瑕???灏辨??瀵規?ュ?f?規???瀹??幫??ㄦ?ュ?d腑涓???????瀵規?規?杩?琛?浜?澹版??锛?????浠??ㄥ???版?訛?灏遍??瑕?瀹??版?ュ?e0?????????規????や?杩?涓??稿?????ㄦ?浠ュ?锛???浠??ㄧ戶?誇腑涔????戒??ㄥ??绫昏????剁被涓????規????ㄨ???瑕?娉ㄦ??浠ヤ??????癸?

1??瑕??????規?????蹇?蹇?椤昏???琚?瑕??????規?????蹇?瀹??ㄥ?歸??锛????借揪?拌?????????锛?

2??瑕??????規???杩????煎?椤誨??琚?瑕??????規???杩???涓??達?

3??瑕??????規??????虹??寮?甯稿?椤誨??琚?瑕????規????????虹??寮?甯鎬??達????????跺??绫夥?

4??琚?瑕??????規?涓??戒負private锛??????ㄥ?跺??绫諱腑?????闆??涔?浜?涓?涓??規?锛?骞舵病??瀵瑰?惰?琛?瑕?????

overload瀵規??浠??ヨ?村???芥??杈?????锛???浠ョ炕璇?涓洪??杞斤?瀹???????浠???浠ュ??涔?涓?浜???绉扮?稿?????規?锛???杩?瀹?涔?涓?????杈??ュ???版?ュ?哄??杩?浜??規?锛??跺????璋??ㄦ?訛?VM灏變??規??涓????????版?峰?锛??ラ???╁???????規??ц????ㄤ嬌?ㄩ??杞借?娉ㄦ??浠ヤ??????癸?

1???ㄤ嬌?ㄩ??杞芥?跺???介??杩?涓????????版?峰???渚?濡?锛?涓????????扮被??锛?涓????????頒釜?幫?涓????????伴『搴?锛?褰??訛???涓??規???????涓????扮被??蹇?椤諱?涓??鳳?渚?濡???浠ユ??fun(int,float)锛?浣???涓??戒負fun(int,int)锛?锛?

2??涓??介??杩?璁塊????????杩???绫誨???????虹??寮?甯歌?琛???杞斤?

3???規???寮?甯哥被?????扮??涓?浼?瀵歸??杞介????褰卞??锛?

4??瀵逛?缁ф?挎?ヨ?達?濡?????涓??規??ㄧ?剁被涓???璁塊????????priavte锛??d?灏變??藉?ㄥ??绫誨?瑰?惰?琛???杞斤?濡???瀹?涔???璇?锛?涔?????瀹?涔?浜?涓?涓??版?規?锛???涓?浼?杈懼?伴??杞界????????

3??4??21?風????瀛?礎????涓?浜?棰???

??enchao锛?濂籌?3500锛?21宀?

??浜?澶?涓???杞芥?規?锛????闆??????int?,char,??double锛??跺??灏?double?x?=?2锛?浼???杩??夥?浼????╁??涓??規?锛?

璇磋?村??avaee涓???session????瑙o?浣?????涔???ession??锛??

??yong,?4000

涓?涓??垮??????妞?瀛?锛?妞?瀛????垮????锛??垮??涓?妞?瀛???浠?涔??崇郴锛?妞?瀛?涓??垮??????浠?涔??崇郴锛?

濡????垮????澶?涓?妞?瀛?锛?灏辨???????崇郴锛???????涓?绉??寵???崇郴锛?褰??訛???????涓?绉??規?????寵????妞?瀛?涓??垮?????剁????崇郴??

璇磋??as?a涓?is?a???哄????

绛?锛?is-a琛ㄧず????灞?浜?寰??崇郴??姣?濡???瀛?灞?浜?涓?绉??ㄧ?╋?缁ф?垮?崇郴锛???

has-a琛ㄧず缁???锛??????崇郴??姣?濡???瀛????????匡?澶寸??缁?浠訛?

宸ュ??妯″???绫誨??

4锛?5??15?風????瀛?礎????涓?浜?棰?锛?

1.?绾跨?濡?浣???姝ュ????璁??????瀛???绛?璇?ynchronized?規???浠g????锛??㈣??瀹?浼間?涓?澶?婊℃??锛?

?????澶?涓?synchronized浠g????浣跨?ㄧ??????涓?涓???瑙??ㄥ?矽薄锛?杩?浜?synchronized浠g????涔??存???鋒??绾跨?浜??ョ??????锛???濡?a浠g??????bj1浣?涓虹??瑙??ㄥ?矽薄锛???濡?b浠g??????bj2浣?涓虹??瑙??ㄥ?矽薄锛??d?锛?涓や釜骞跺????绾跨???浠ュ???跺????杩??ヨ?涓や釜浠g????涓?????????杩???浠ュ????涓?涓???姝ョ????????

???瀵逛???姝ユ?規???????锛????ㄧ????姝ョ??瑙??ㄥ?矽薄??this

????ョ??瀵逛???????姝ユ?規???????锛????ㄧ????姝ョ??瑙??ㄥ?矽薄??璇ョ被??Class瀵矽薄

?ョ??瀵瑰?浣?瀹??頒唬????涓??規?????姝ヨ?琛???????

2.ClassLoader濡?浣???杞?lass???

????jvm????澶?涓?绫誨??杞斤?姣?涓?绫誨??杞藉??浠ヨ?璐e??杞界?瑰??浣?缃???绫夥?渚?濡?锛?bootstrap绫誨??杞借?璐e??杞?re/lib/rt.jar涓???绫夥????浠?骞蟲?剁?ㄧ??jdk涓???绫婚?戒?浜?rt.jar涓???extclassloader璐?璐e??杞?ar/lib/ext

public?static?void?main(String[]?args)?{

//?TODO?Auto-generated?method?stub

System.out.println(new?Test().test());;

}

static?int?test()

{

int?x?=?1;

try

{

return?x;

}

finally

{

++x;

}

}

}

---------?ц?缁????---------

1

杩?琛?缁?????1锛?涓轟?涔????涓誨?芥?拌??ㄥ???芥?闆苟寰??扮?????杩?绋?锛?濂芥??涓誨?芥?闆??澶?涓?涓?绌虹?瀛?锛?褰?瀛??芥?拌?杩???缁????訛?????缁????懼?ㄧ?瀛???锛??跺????灏?绋?搴??昏?杩????頒富?芥?般????璋?杩???锛?灏辨??瀛??芥?拌?達???涓?杩?琛?浜?锛?浣?涓誨?芥?扮戶缁?杩?琛??э?杩?娌′?涔?缁?????瑷?锛?缁??????ㄨ?磋?璇?涔????捐?缃?瀛???????

7??涓??㈢??绋?搴?浠g??杈??虹??缁?????澶?灏?锛?

public?class??smallT

{

public?static?void??main(String?args[])

{

smallT?t??=?new??smallT();

int??b??=??t.get();

System.out.println(b);

}

public?int??get()

{

try

{

return?1?;

}

finally

{

return?2?;

}

}

}

杩?????缁?????2??

????浠ラ??杩?涓????涓?渚?瀛?绋?搴??ュ府?╂??瑙i??杩?涓?绛?妗?锛?浠?涓????瀛???杩?琛?缁???涓???浠ュ???幫?try涓???return璇??ヨ??ㄧ???芥?闆??浜?finally涓?璋??ㄧ???芥?版?ц?锛?涔?灏辨??璇?eturn璇??ュ???ц?锛?finally璇??ュ???ц?锛???浠ワ?杩?????缁?????2??Return骞朵???璁╁?芥?伴┈涓?杩???锛?????return璇??ユ?ц???锛?灏???杩???缁????劇疆杩??芥?版??涓?锛?姝ゆ?跺?芥?闆苟涓???椹?涓?杩???锛?瀹?瑕??ц?finally璇??ュ??????姝e?濮?杩?????

?ㄨ?茶В绛?妗??跺??浠ョ?ㄤ??㈢??绋?搴??ュ府?╁????锛?

public??class?Test?{

public?static?void?main(String[]?args)?{

//?TODO?Auto-generated?method?stub

System.out.println(new?Test().test());;

}

int?test()

{

try

{

return?func1();

}

finally

{

return?func2();

}

}

int?func1()

{

System.out.println("func1");

return?1;

}

int?func2()

{

System.out.println("func2");

return?2;

}

}

-----------?ц?缁???-----------------

func1

func2

2

缁?璁猴?finally涓???浠g??姣?return???break璇??ュ???ц?

12??final,?finally,?finalize???哄?????

??final??ㄤ?澹版??灞??э??規???绫夥?????琛ㄧず灞??т?????锛??規?涓???瑕???锛?绫諱???缁ф?褲???

???ㄧ被瑕?璁塊??灞??ㄥ????锛?灞??ㄥ????蹇?椤誨??涔???final绫誨??锛?渚?濡?锛?涓?娈典唬??????

finally??寮?甯稿???璇??ョ?????涓??ㄥ??锛?琛ㄧず?繪???ц???

?

finalize??Object绫葷??涓?涓??規?锛??ㄥ???炬?堕???ㄦ?ц????跺??浼?璋??ㄨ????跺?矽薄??姝ゆ?規?锛???浠ヨ???姝ゆ?規???渚????炬?堕???剁???朵?璧?婧????訛?渚?濡??抽????浠剁????JVM涓?淇?璇?姝ゆ?規??昏?璋???

5??杩?琛??跺?甯鎬?涓???寮?甯告??浣?寮???锛??

寮?甯歌〃绀虹?搴?杩?琛?杩?绋?涓????藉?虹?扮????姝e父?舵??锛?杩?琛??跺?甯歌〃绀鴻?????虹????甯告??浣?涓????介???扮??寮?甯革???涓?绉?甯歌?杩?琛???璇???java缂?璇??ㄨ?姹??規?蹇?椤誨0?????哄???藉????????杩?琛??跺?甯革?浣???骞朵?瑕?姹?蹇?椤誨0?????烘??琚????風??杩?琛??跺?甯搞??

15??error??exception??浠?涔??哄????

error?琛ㄧず?㈠?涓???涓????戒?寰??伴?劇?????典???涓?绉?涓ラ????棰???姣?濡?璇村??瀛?婧㈠?恒??涓????芥????绋?搴??藉???杩??風?????點???exception?琛ㄧず涓?绉?璁捐?℃??瀹??伴??棰???涔?灏辨??璇達?瀹?琛ㄧず濡???绋?搴?杩?琛?姝e父锛?浠?涓?浼??????????點???

50??Java涓???寮?甯稿????哄?剁??绠?????????搴??ㄣ???

寮?甯告????java绋?搴?杩?琛??訛???缂?璇?锛???????????姝e父???墊????璇?锛?涓??闆????娲諱腑??浜?浠跺??鎬技锛??闆????娲諱腑??浜?浠跺??浠ュ????浜?浠跺???????堕?淬???扮?廣??浜虹?┿??????绛?淇℃??锛???浠ョ?ㄤ?涓?瀵矽薄?ヨ〃绀猴?Java浣跨?ㄩ?㈠??瀵矽薄???瑰??ュ???寮?甯革?瀹???绋?搴?涓???????姣?涓?寮?甯鎬??藉????灏?瑁??頒?涓?瀵矽薄?ヨ〃绀虹??锛?璇ュ?矽薄涓???????寮?甯哥??淇℃????

Java瀵瑰?甯歌?琛?浜???绫夥?涓???绫誨????寮?甯稿?????ㄤ?????Java绫昏〃绀猴?????寮?甯哥???圭被涓?ava.lang.Throwable锛?Throwable涓??㈠??娲劇??浜?涓や釜瀛?绫夥?Error??Exception锛?Error?琛ㄧず搴??ㄧ?搴???韬???娉????????㈠???涓?绉?涓ラ????棰?锛?绋?搴?????姝葷??浠戒?锛?渚?濡?锛?璇村??瀛?婧㈠?哄??绾跨?姝婚??绛?绯葷???棰???Exception琛ㄧず绋?搴?杩??藉????????㈠?????棰?锛??朵腑????涓虹郴缁?寮?甯稿??????寮?甯革?绯葷?寮?甯告??杞?浠舵??韬?缂洪?鋒??瀵艱?寸????棰?锛?涔?灏辨??杞?浠跺???浜哄??????涓??ㄦ??瀵艱?寸????棰?锛?杞?浠朵嬌?ㄨ????娉????????㈠?杩?绉???棰?锛?浣??ㄨ?绉???棰?涓?杩???浠ヨ?╄蔣浠剁郴缁?缁х畫杩?琛?????璁╄蔣浠舵?繪??锛?渚?濡?锛??扮?????瓒???锛?ArrayIndexOutOfBoundsException锛?锛?绌烘????寮?甯革?NullPointerException锛???绫昏漿?㈠?甯革?ClassCastException锛?锛?????寮?甯告??杩?琛???澧?????????寮?甯告??瀵艱?寸????棰?锛????ㄦ?瘋?藉?????????棰?锛?渚?濡?锛?缃?缁???绾匡?纭???绌洪?翠?澶?锛?????杩??風??寮?甯稿??锛?绋?搴?涓?搴?璇ユ?繪????

java涓虹郴缁?寮?甯稿??????寮?甯告??渚?浜?涓?????瑙e?蟲?規?锛?缂?璇??ㄥ己?舵????寮?甯稿?椤?ry..catch澶???????hrows澹版??缁х畫??缁?涓?灞?璋??ㄦ?規?澶???锛???浠ユ????寮?甯鎬?绉頒負checked寮?甯革???绯葷?寮?甯稿??浠ュ???涔???浠ヤ?澶???锛???浠ワ?缂?璇??ㄤ?寮哄?剁??ry..catch澶???????hrows澹版??锛???浠ョ郴缁?寮?甯鎬?绉頒負unchecked寮?甯搞??

??绀虹??棰???锛?灏辨???т?涓?绾у???繪????锛??????哄?椤誨???虹????璇?锛?绋?搴???浠ユ?繪??涔???浠ヤ?姝繪??????璇?锛?绋?搴?涓?搴?璇ユ?繪??????璇?锛?

33??璇峰???轟???甯歌??扮??5涓?runtime?exception???

杩???棰?涓昏???浣???浠g?????闆?澶?澶э?濡???浣??挎????浠g????锛?搴?璇ョ?甯擱?界???拌?涓?浜?绯葷??歸?㈢??寮?甯革?浣?涓?涓?瀹???瑕???绛???涓??蜂???绯葷?寮?甯革?浣?浣?瑕??藉?璇村?轟?涔???绯葷?寮?甯革?浠ュ????涓?绯葷?寮?甯稿氨??浠ヤ?锛?褰??訛?杩?浜?寮?甯稿???ㄧ?ㄥ?惰?辨????绉版?ュ??????濂界??锛?濡???瀹??ㄥ??涓??猴??e氨?ㄤ腑???э????繪??娌℃??寮猴??

??璋?绯葷?寮?甯革?灏辨????.锛?瀹?浠??芥??RuntimeException??瀛?绫夥???dk?doc涓???untimeException绫夥?灏卞??浠ョ???闆?舵??????瀛?绫誨??琛??涔?灏辨?????頒???????绯葷?寮?甯搞????姣?杈????拌薄??绯葷?寮?甯告??锛?NullPointerException??ArrayIndexOutOfBoundsException??ClassCastException??

96??JAVA璇?瑷?濡?浣?杩?琛?寮?甯稿???锛??抽??瀛?锛?throws,throw,try,catch,finally????浠h〃浠?涔???涔?锛???ry??涓???浠ユ???哄?甯稿??锛??

99??java涓?????绉??規???浠ュ???頒?涓?绾跨?锛??ㄤ?涔??抽??瀛?淇?楗闆??姝ユ?規???stop()??suspend()?規?涓轟?涓??ㄨ??浣跨????

java5浠ュ??锛???濡?涓?涓ょ?锛?

绗?涓?绉?锛?

new?Thread(){}.start();杩?琛ㄧず璋???hread瀛?绫誨?矽薄??run?規?锛?new?Thread(){}琛ㄧず涓?涓?Thread???垮??瀛?绫葷??瀹?渚?瀵矽薄锛?瀛?绫誨??涓?run?規?????浠g??濡?涓?锛?

new?Thread(){

public?void?run(){

}

}.start();

绗?浜?绉?锛?

new?Thread(new?Runnable(){}).start();杩?琛ㄧず璋???hread瀵矽薄?ュ????Runnable瀵矽薄??run?規?锛?new?Runnable(){}琛ㄧず涓?涓?Runnable???垮??瀛?绫葷??瀹?渚?瀵矽薄,runnable??瀛?绫誨??涓?run?規?????浠g??濡?涓?锛?

new?Thread(new?Runnable(){

public?void?run(){

}

}

).start();

浠?java5寮?濮?锛?杩???濡?涓?涓?浜?绾跨?姹???寤哄?绾跨????瑰?锛?

ExecutorService?pool?=?Executors.newFixedThreadPool(3)

for(int?i=0;i<10;i++)

{

?pool.execute(new?Runable(){public?void?run(){}});

}

Executors.newCachedThreadPool().execute(new?Runable(){public?void?run(){}});

Executors.newSingleThreadExecutor().execute(new?Runable(){public?void?run(){}});

??涓ょ?瀹??版?規?锛?????浣跨??ew?Thread()??new?Thread(runnable)褰㈠?锛?绗?涓?绉??存?ヨ???hread??run?規?锛???浠ワ???浠?寰?寰?浣跨??hread瀛?绫夥???ew?SubThread()??绗?浜?绉?璋???unnable??run?規???

??涓ょ?瀹??版?規?锛???????缁ф??hread绫諱?瀹???unnable?ュ?B?

??ynchronized?抽??瀛?淇?楗闆??姝ユ?規??

??瀵逛嬌??top()锛?????涓哄??涓?瀹??ㄣ??瀹?浼?瑙i?ょ?辯嚎绋??峰??????????瀹?锛???涓?濡???瀵矽薄澶?浜?涓?绉?涓?杩?璐??舵??锛??d??朵?绾跨??藉?ㄩ?g??舵??涓?妫??ュ??淇??瑰??浠???缁???寰??炬??ュ?虹??姝g????棰????ㄣ??suspend()?規?瀹規??????姝婚????璋???uspend()???跺??锛?????绾跨?浼???涓??ワ?浣??翠??舵?????ㄨ?涔????峰?????瀹???姝ゆ?訛??朵?浠諱?绾跨??戒??借?塊????瀹???璧?婧?锛??ら??琚?"??璧???绾跨??㈠?杩?琛???瀵逛換浣?绾跨??ヨ?達?濡???瀹?浠??蟲?㈠?????绾跨?锛????跺??璇??句嬌?ㄤ換浣?涓?涓???瀹???璧?婧?锛?灏變?????姝婚??????浠ヤ?搴?璇ヤ嬌??uspend()锛???搴??ㄨ??宸辯??Thread绫諱腑缃??ヤ?涓???蹇?锛????虹嚎绋?搴?璇ユ椿?ㄨ?????璧楓???ユ??蹇????虹嚎绋?搴?璇ユ??璧鳳?渚跨??ait()?藉?惰??ョ??寰??舵?????ユ??蹇????虹嚎绋?搴?褰??㈠?锛????ㄤ?涓?notify()???闆???ㄧ嚎绋????

13??sleep()????wait()???浠?涔??哄????

?????锛?缃?涓???绛?妗?锛?sleep??绾跨?绫夥?Thread锛????規?锛?瀵艱?存?ょ嚎绋??????ц???瀹??堕?達?缁??ц??轟?缁??朵?绾跨?锛?浣??????х?舵??渚??朵???锛??版?跺??浼????ㄦ?㈠???璋???leep涓?浼????懼?矽薄?????wait??Object绫葷???規?锛?瀵規?ゅ?矽薄璋???ait?規?瀵艱?存??绾跨??懼?瀵矽薄??锛?杩??ョ??寰?姝ゅ?矽薄??绛?寰???瀹?姹?锛???????瀵規?ゅ?矽薄????otify?規?锛???notifyAll锛?????绾跨???杩??ュ?矽薄??瀹?姹???澶??峰?瀵矽薄??杩??ヨ?琛??舵????锛??

sleep灏辨??姝e?ㄦ?ц???绾跨?涓誨?ㄨ?╁??pu锛?cpu?繪?ц??朵?绾跨?锛???leep??瀹????堕?磋???锛?cpu??浼????拌?涓?绾跨?涓?缁х畫寰?涓??ц?锛?濡???褰???绾跨?杩??ヤ???姝ラ??锛?sleep?規?骞朵?浼????鵑??锛??充嬌褰???绾跨?浣跨??leep?規?璁╁?轟?cpu锛?浣??朵?琚???姝ラ???′?浜???绾跨?涔???娉?寰??版?ц???wait?????ㄤ?涓?宸茬?杩??ヤ???姝ラ????绾跨???锛?璁╄??宸辨???惰?╁?哄??姝ラ??锛?浠ヤ究?朵?姝e?ㄧ??寰?姝ら????绾跨???浠ュ??闆??姝ラ??骞惰?琛?锛??????朵?绾跨?璋??ㄤ?notify?規?锛?notify骞朵????鵑??锛???????璇?璋??ㄨ?wait?規???绾跨???浠ュ?誨??涓??峰?????绔?浜?浜?锛?浣?涓???椹?涓?寰??伴??锛???涓洪??杩??ㄥ??浜烘????锛???浜鴻?娌¢???俱??濡???notify?規????㈢??浠g??杩???寰?澶?锛???瑕?杩?浜?浠g???ц?瀹?????浼????鵑??锛???浠ュ??otfiy?規???澧???涓?涓?绛?寰???涓?浜?浠g??锛?????????锛?锛?璋???ait?規???绾跨?灏變?瑙i??ait?舵????绋?搴???浠ュ??娆″??伴????缁х畫??涓?杩?琛???瀵逛?wait??璁茶В涓?瀹?瑕?????渚?瀛?浠g???ヨ?存??锛????懼???宸辯?????姐??

package?com.huawei.interview;

public?class?MultiThread?{

public?static?void?main(String[]?args)?{

//?TODO?Auto-generated?method?stub

new?Thread(new?Thread1()).start();

try?{

Thread.sleep(10);

}?catch?(InterruptedException?e)?{

//?TODO?Auto-generated?catch?block

e.printStackTrace();

}

new?Thread(new?Thread2()).start();

}

private?static?class?Thread1?implements?Runnable

{

@Override

public?void?run()?{

//?TODO?Auto-generated?method?stub

//?變?杩?????Thread1??涓??㈢??Thread2????un?規?瑕??ㄥ??涓?瀵矽薄浣?涓虹??瑙??????浠?杩???涓??界??his锛???涓哄??hread2???㈢??this??杩?涓?Thread1??this涓?????涓?涓?瀵矽薄????浠???ultiThread.class杩?涓?瀛?????瀵矽薄锛?褰????????洪??寮??ㄨ?涓??????訛????????芥????涓?涓?瀵矽薄??

synchronized?(MultiThread.class)?{

System.out.println("enter?thread1...");

System.out.println("thread1?is?waiting");

try?{

//???鵑????涓ょ??瑰?锛?绗?涓?绉??瑰???绋?搴????剁?寮???瑙??ㄧ?????達?涔?灏辨??绂誨?浜?synchronized?抽??瀛?绠¤???浠g?????達????绉??瑰?灏辨????ynchronized?抽??瀛?绠¤???浠g?????ㄨ??ㄧ??瑙??ㄥ?矽薄??wait?規???杩???锛?浣跨??ait?規????鵑????

MultiThread.class.wait();

}?catch?(InterruptedException?e)?{

//?TODO?Auto-generated?catch?block

e.printStackTrace();

}

System.out.println("thread1?is?going?on...");

System.out.println("thread1?is?being?over!");

}

}

}

private?static?class?Thread2?implements?Runnable

{

@Override

public?void?run()?{

//?TODO?Auto-generated?method?stub

synchronized?(MultiThread.class)?{

System.out.println("enter?thread2...");

System.out.println("thread2?notify?other?thread?can?release?wait?status..");

//?變?notify?規?骞朵????鵑??锛???充嬌thread2璋??ㄤ??㈢??sleep?規?浼???浜?10姣?绉?锛?浣?thread1浠??朵?浼??ц?锛???涓?hread2娌℃?????鵑??锛???浠?hread1??娉?寰?涓??伴????

MultiThread.class.notify();

System.out.println("thread2?is?sleeping?ten?millisecond...");

try?{

Thread.sleep(10);

}?catch?(InterruptedException?e)?{

//?TODO?Auto-generated?catch?block

e.printStackTrace();

}

System.out.println("thread2?is?going?on...");

System.out.println("thread2?is?being?over!");

}

}

}

}

16????姝ュ??寮?姝ユ??浣?寮???锛??ㄤ?涔????典?????浣跨?ㄤ?浠?锛?涓句?璇存?????

濡????版??灏??ㄧ嚎绋??村?變韓??渚?濡?姝e?ㄥ?????版??浠ュ?????借????涓?绾跨?璇誨?幫?????姝e?ㄨ?葷???版?????藉凡缁?琚????涓?绾跨???杩?浜?锛??d?杩?浜??版??灏辨???變韓?版??锛?蹇?椤昏?琛???姝ュ???????

褰?搴??ㄧ?搴??ㄥ?矽薄涓?璋??ㄤ?涓?涓???瑕??辮垂寰??挎?堕?存?ユ?ц????規?锛?骞朵?涓?甯???璁╃?搴?绛?寰??規???杩????訛?灏卞?璇ヤ嬌?ㄥ?姝ョ?绋?锛??ㄥ?澶????典????ㄥ?姝ラ??寰?寰?寰??存?????????

17.?涓???袱涓??規???姝ュ??锛?锛???宸卞????锛?

class?Test

{

synchronized?static?void?sayHello3()

{

}

synchronized?void?getX(){}

}

56??澶?绾跨?????绉?瀹??版?規????姝ユ????绉?瀹??版?規???

澶?绾跨???涓ょ?瀹??版?規?锛???????缁ф??hread绫諱?瀹???unnable?ュ?B?

??姝ョ??瀹??版?歸?㈡??涓ょ?锛???????synchronized,wait涓?notify?

wait():浣誇?涓?绾跨?澶?浜?绛?寰??舵??锛?骞朵????炬????????瀵矽薄??lock???

sleep():浣誇?涓?姝e?ㄨ?琛???绾跨?澶?浜??$???舵??锛???涓?涓??????規?锛?璋??ㄦ?ゆ?規?瑕?????InterruptedException寮?甯搞???

notify():?ら??涓?涓?澶?浜?绛?寰??舵????绾跨?锛?娉ㄦ???????ㄨ??ㄦ?ゆ?規????跺??锛?骞朵??界‘?????ら????涓?涓?绛?寰??舵????绾跨?锛???????VM纭?瀹??ら????涓?绾跨?锛???涓?涓?????浼???绾с???

Allnotity():?ら??????澶??ョ??寰??舵????绾跨?锛?娉ㄦ??骞朵???缁??????ら??绾跨?涓?涓?瀵矽薄????锛?????璁╁??浠?绔?浜???

30?????ㄤ?涓?绾跨?????un()杩???start()??.?

???ㄤ?涓?绾跨???璋???tart()?規?锛?浣跨嚎绋?灏辯華?舵??锛?浠ュ????浠ヨ?璋?搴?負杩?琛??舵??锛?涓?涓?绾跨?蹇?椤誨?寵??涓?浜??蜂????ц?浠g??锛?run()?規???璇ョ嚎绋????寵?????ц?浠g?????

47??褰?涓?涓?绾跨?杩??ヤ?涓?瀵矽薄??涓?涓?synchronized?規???锛??跺??绾跨???????杩??ユ?ゅ?矽薄???跺???規???

????绉????碉?

?????1.?朵??規?????????浜?synchronized?抽??瀛?锛?濡???娌″??锛????姐??

?????2.濡???杩?涓??規????ㄨ??ㄤ?wait锛?????浠ヨ??ュ?朵?synchronized?規???

?????3.濡????朵?涓??規??藉??浜?synchronized?抽??瀛?锛?骞朵????ㄦ病??璋???ait锛???涓??姐??

4.濡????朵??規???static锛?瀹??ㄧ????姝ラ????褰???绫葷??瀛?????锛?涓??????????規?涓??藉??姝ワ???涓洪?????????規??ㄧ????this??

58??绾跨????烘??姒?蹇點??绾跨????烘???舵??浠ュ???舵??涔??寸???崇郴?

涓?涓?绋?搴?涓???浠ユ??澶??℃?ц?绾跨儲???舵?ц?锛?涓?涓?绾跨?灏辨??绋?搴?涓???涓??℃?ц?绾跨儲锛?姣?涓?绾跨?涓??藉?寵????瑕??ц???浠g??锛??沖??浠ユ??澶?娈電?搴?浠g?????惰?琛?锛?姣?涓?绋?搴??沖??芥??涓?涓?绾跨?锛???ain?規??ц????d釜绾跨???濡???????涓?涓?cpu锛?瀹???涔??藉????舵?ц?澶?娈電?搴????杩???浠?瀹?瑙?涓??ョ????锛?cpu涓?浼??ц?a绾跨儲锛?涓?浼??ц?b绾跨儲锛????㈡?堕?村?蹇?锛?缁?浜虹????瑙???a,b?ㄥ???舵?ц?锛?濂芥??澶у?跺?ㄥ??涓?涓?????瀹や?缃?锛?????涓??¢?炬?ュ?闆??ㄧ?绾匡??跺??锛?杩??$?绾誇?浼?涓?浼??版??锛?涓?浼?涓?浼??版??锛??變????㈡?堕?村?????锛???浠ワ?澶у?舵??瑙??藉?ㄥ???朵?缃????

???舵??锛?灏辯華锛?杩?琛?锛?synchronize?誨?锛?wait??sleep??璧鳳?缁?????wait蹇?椤誨??ynchronized???ㄨ??ㄣ??

??璋??ㄧ嚎绋???start?規???绾跨?杩??ュ氨缁??舵??锛?绾跨?璋?搴?郴缁?灏?灏辯華?舵????绾跨?杞?涓鴻?琛??舵??锛?????ynchronized璇??ユ?訛??辮?琛??舵??杞?涓洪?誨?锛?褰?synchronized?峰?????锛??遍?誨?杞?涓鴻?琛?锛??ㄨ?绉????靛??浠ヨ???ait?規?杞?涓烘??璧風?舵??锛?褰?绾跨??寵????浠g???ц?瀹???锛?绾跨???涓虹????舵?????

71??绠?杩?ynchronized??java.util.concurrent.locks.Lock??寮????锛??

涓昏??稿???癸?Lock?藉????synchronized??瀹??扮?????????鉸?

涓昏?涓????癸?Lock??姣?synchronized?寸簿纭???绾跨?璇?涔????村ソ???ц?姐??synchronized浼????ㄩ???鵑??锛???Lock涓?瀹?瑕?姹?绋?搴?????宸ラ???撅?骞朵?蹇?椤誨??inally浠??ヤ腑???俱??Lock杩????村己澶х?????斤?渚?濡?锛?瀹???tryLock?規???浠ラ???誨??瑰??繪?塊?????

涓句?璇存??锛?瀵逛??㈢??棰???ock杩?琛?浜??瑰??锛?锛?

package?com.huawei.interview;

import?java.util.concurrent.locks.Lock;

import?java.util.concurrent.locks.ReentrantLock;

public?class?ThreadTest?{

private?int?j;

private?Lock?lock?=?new?ReentrantLock();

public?static?void?main(String[]?args)?{

//?TODO?Auto-generated?method?stub

ThreadTest?tt?=?new?ThreadTest();

for(int?i=0;i<2;i++)

{

new?Thread(tt.new?Adder()).start();

new?Thread(tt.new?Subtractor()).start();

}

}

private?class?Subtractor?implements?Runnable

{

@Override

public?void?run()?{

//?TODO?Auto-generated?method?stub

while(true)

{

lock.lock();

try

{

System.out.println("j--="?+?j--);

}finally

{

lock.unlock();

}

}

}

}

private?class?Adder?implements?Runnable

{

@Override

public?void?run()?{

//?TODO?Auto-generated?method?stub

while(true)

{

lock.lock();

try

{

System.out.println("j++="?+?j++);

}finally

{

lock.unlock();

}

}

}

}

}

28??璁捐??涓?绾跨?锛??朵腑涓や釜绾跨?姣?娆″??澧???1锛????涓や釜绾跨?瀵?姣?娆″??灏?1?????虹?搴????

浠ヤ?绋?搴?浣跨?ㄥ???ㄧ被瀹??扮嚎绋?锛?瀵?澧??????跺??娌℃??????椤哄???棰????

public?class?ThreadTest1?

{?

private?int?j;?

public?static?void?main(String?args[]){?

???ThreadTest1?tt=new?ThreadTest1();?

???Inc?inc=tt.new?Inc();?

???Dec?dec=tt.new?Dec();?

???for(int?i=0;i<2;i++){?

???????Thread?t=new?Thread(inc);?

???????t.start();?

???t=new?Thread(dec);?

???????t.start();?

???????}?

???}?

private?synchronized?void?inc(){?

???j++;?

???System.out.println(Thread.currentThread().getName()+"-inc:"+j);?

???}?

private?synchronized?void?dec(){?

???j--;?

???System.out.println(Thread.currentThread().getName()+"-dec:"+j);?

???}?

class?Inc?implements?Runnable{?

???public?void?run(){?

???????for(int?i=0;i<100;i++){?

???????inc();?

???????}?

???}?

}?

class?Dec?implements?Runnable{?

???public?void?run(){?

???????for(int?i=0;i<100;i++){?

???????dec();?

???????}?

???}?

}?

}?

----------??????????涓?涓?-------------

class?A

{

JManger?j?=new?JManager();

main()

{

new?A().call();

}

void?call

{

for(int?i=0;i<2;i++)

{

new?Thread(

new?Runnable(){?public?void?run(){while(true){j.accumulate()}}}

).start();

new?Thread(new?Runnable(){?public?void?run(){while(true){j.sub()}}}).start();

}

}

}

class?JManager

{

private?j?=?0;

public?synchronized?void?subtract()

{

j--

}

public?synchronized?void?accumulate()

{

j++;

}

}

28??瀛?绾跨?寰???10娆★??ョ??涓葷嚎绋?寰???100锛??ョ???????闆??绾跨?寰???10娆★??ョ???????頒富绾跨???寰???100锛?濡?姝ゅ驚??50娆★?璇峰???虹?搴????

??缁???绋?搴?浠g??濡?涓?锛?

public?class?ThreadTest?{

public?static?void?main(String[]?args)?{

//?TODO?Auto-generated?method?stub

new?ThreadTest().init();

}

public?void?init()

{

final?Business?business?=?new?Business();

new?Thread(

new?Runnable()

{

public?void?run()?{

for(int?i=0;i<50;i++)

{

business.SubThread(i);

}

}

}

).start();

for(int?i=0;i<50;i++)

{

business.MainThread(i);

}

}

private?class?Business

{

boolean?bShouldSub?=?true;//杩????稿?浜?瀹?涔?浜??у?惰?ヨ??ц???涓?涓?淇″?風??

public?synchronized?void?MainThread(int?i)

{

if(bShouldSub)

try?{

this.wait();

}?catch?(InterruptedException?e)?{

//?TODO?Auto-generated?catch?block

e.printStackTrace();

}

for(int?j=0;j<5;j++)

{

System.out.println(Thread.currentThread().getName()?+?":i="?+?i?+",j="?+?j);

}

bShouldSub?=?true;

this.notify();

}

public?synchronized?void?SubThread(int?i)

{

if(!bShouldSub)

try?{

this.wait();

}?catch?(InterruptedException?e)?{

//?TODO?Auto-generated?catch?block

e.printStackTrace();

}

for(int?j=0;j<10;j++)

{

System.out.println(Thread.currentThread().getName()?+?":i="?+?i?+",j="?+?j);

}

bShouldSub?=?false;

this.notify();

}

}

}

澶?娉??涓????戒?涓??ュ氨???轟??㈢??瀹??翠唬??锛????????烘?ョ??浠g??濡?涓?锛???棰??ㄤ?涓や釜绾跨???浠g??瑕????у??涓?涓?????锛??寵?涓や釜绾跨???浠g??瑕??變韓?版??锛???浠ワ???杩?涓や釜绾跨????ц?浠g?????闆??涓?涓?绫諱腑?夥?

package?com.huawei.interview.lym;

public?class?ThreadTest?{

private?static?boolean?bShouldMain?=?false;

public?static?void?main(String[]?args)?{

//?TODO?Auto-generated?method?stub

//final?String?str?=?new?String("");

new?Thread(

new?Runnable()

{

public?void?run()

{

for(int?i=0;i<50;i++)

{

synchronized?(ThreadTest.class)?{

if(bShouldMain)

{

try?{

ThreadTest.class.wait();}?

catch?(InterruptedException?e)?{

e.printStackTrace();

}

}

for(int?j=0;j<10;j++)

{

System.out.println(

Thread.currentThread().getName()?+?

"i="?+?i?+?",j="?+?j);

}

bShouldMain?=?true;

ThreadTest.class.notify();

}

}

}

}

).start();

for(int?i=0;i<50;i++)

{

synchronized?(ThreadTest.class)?{

if(!bShouldMain)

{

try?{

ThreadTest.class.wait();}?

catch?(InterruptedException?e)?{

e.printStackTrace();

}

}

for(int?j=0;j<5;j++)

{

System.out.println(

Thread.currentThread().getName()?+?

"i="?+?i?+?",j="?+?j);

}

bShouldMain?=?false;

ThreadTest.class.notify();

}

}

}

}

涓???嬌??dk5涓???骞跺??搴??ュ???扮??锛?

import?java.util.concurrent.Executors;

import?java.util.concurrent.ExecutorService;

import?java.util.concurrent.locks.Lock;

import?java.util.concurrent.locks.ReentrantLock;

import?java.util.concurrent.locks.Condition;

public?class?ThreadTest

{

private?static?Lock?lock?=?new?ReentrantLock();

private?static?Condition?subThreadCondition?=?lock.newCondition();

private?static?boolean?bBhouldSubThread?=?false;

public?static?void?main(String?[]?args)

{

ExecutorService?threadPool?=?Executors.newFixedThreadPool(3);

threadPool.execute(new?Runnable(){

public?void?run()

{

for(int?i=0;i<50;i++)

{

lock.lock();

try

{

if(!bBhouldSubThread)

subThreadCondition.await();

for(int?j=0;j<10;j++)

{

System.out.println(Thread.currentThread().getName()?+?",j="?+?j);

}

bBhouldSubThread?=?false;

subThreadCondition.signal();

}catch(Exception?e)

{

}

finally

{

lock.unlock();

}

}

}

});

threadPool.shutdown();

for(int?i=0;i<50;i++)

{

lock.lock();

try

{

if(bBhouldSubThread)

subThreadCondition.await();

for(int?j=0;j<10;j++)

{

System.out.println(Thread.currentThread().getName()?+?",j="?+?j);

}

bBhouldSubThread?=?true;

subThreadCondition.signal();

}catch(Exception?e)

{

}

finally

{

lock.unlock();

}

}

}

}

3??浠?缁?Collection妗??剁??缁???

绛?锛????????ラ?锛?澶╁??娴峰??璋?渚胯?锛???瑕?璁╁??瑙?寰?浣??ヨ??娓???锛???瑙i??褰誨?沖????

3??Collection妗??朵腑瀹??版??杈?瑕?瀹??頒?涔??ュ??

comparable/comparator

3??ArrayList??Vector???哄??

绛?锛?

杩?涓や釜绫婚?藉???頒?List?ュ?o?List?ュ?g戶?誇?Collection?ュ?o?锛?浠?浠??芥????搴?????锛??沖???ㄥ?ㄨ?涓や釜????涓?????绱???浣?缃??芥????椤哄???锛??稿?浜?涓?绉??ㄦ?????扮?锛???浠?浠ュ????浠ユ??浣?缃?绱㈠??峰???烘??涓???绱?锛?锛?骞朵??朵腑???版??????璁擱??澶???锛?杩???HashSet涔?绫葷??????????澶т???澶?锛?HashSet涔?绫葷??????涓???浠ユ??绱㈠??峰?繪?绱㈠?朵腑????绱?锛?涔?涓???璁告????澶?????绱?锛????ラ???????涓?hashset娌℃??浠諱??崇郴锛?浣?涓轟?璇存?妤?ArrayList涓?Vector?????斤???浠?浣跨?ㄥ?規???瑰?锛??存???╀?璇存????棰?锛???

?ョ????璇?rrayList涓?Vector???哄??锛?杩?涓昏?????涓や釜?歸???.?

锛?1锛???姝ユ?э?

Vector??绾跨?瀹??ㄧ??锛?涔?灏辨??璇存??瀹????規?涔??存??绾跨???姝ョ??锛???ArrayList??绾跨?搴?涓?瀹??ㄧ??锛?瀹????規?涔??存??绾跨?涓???姝ョ????濡???????涓?涓?绾跨?浼?璁塊???伴????锛??f??濂芥??浣跨??rrayList锛???涓哄??涓?????绾跨?瀹????????浼?楂?浜?锛?濡?????澶?涓?绾跨?浼?璁塊???伴????锛??f??濂芥??浣跨??ector锛???涓轟???瑕???浠???宸卞???昏??????缂???绾跨?瀹??ㄧ??浠g????

澶?娉??瀵逛?Vector&ArrayList??Hashtable&HashMap锛?瑕?璁頒?绾跨?瀹??ㄧ????棰?锛?璁頒?Vector涓?Hashtable???х??锛???java涓?璇???灏辨??渚?浜???锛?瀹?浠???绾跨?瀹??ㄧ??锛?ArrayList涓?HashMap??java2?舵????渚???锛?瀹?浠???绾跨?涓?瀹??ㄧ??????浠ワ???浠?璁茶?炬?跺??璁茶??????

锛?2锛??版??澧??匡?

ArrayList涓?Vector?芥??涓?涓???濮???瀹歸??澶у?锛?褰?瀛??ㄨ?瀹?浠????㈢????绱???涓??拌?杩?浜?瀹歸???訛?灏遍??瑕?澧???ArrayList涓?Vector??瀛??ㄧ┖?達?姣?娆¤?澧???瀛??ㄧ┖?存?訛?涓?????澧???涓?涓?瀛??ㄥ????锛?????澧???澶?涓?瀛??ㄥ????锛?姣?娆″?????瀛??ㄥ??????涓??闆?ㄥ??瀛?绌洪?村?╃?ㄤ?绋?搴?????涔??磋???寰?涓?瀹???骞寵 ??Vector榛?璁ゅ??誇負???ヤ袱??锛???ArrayList??澧??跨???ュ?ㄦ??妗d腑娌℃????纭?瑙?瀹?锛?浠?婧?浠g?????扮????澧??誇負???ョ??1.5??锛???ArrayList涓?Vector?藉??浠ヨ?劇疆??濮???绌洪?村ぇ灏?锛?Vector杩???浠ヨ?劇疆澧??跨??绌洪?村ぇ灏?锛???ArrayList娌℃????渚?璁劇疆澧??跨┖?寸???規???

?????葷?锛???ector澧??垮???ョ??涓???锛?ArrayList澧??????ョ??0.5????

4??HashMap??Hashtable???哄??

锛??$??涓?杩???瑕??寸??锛?涔?????璇寸?稿???癸???璇翠????癸?

HashMap??Hashtable??杞婚??绾у???幫???绾跨?瀹??ㄧ??瀹??幫?锛?浠?浠??藉????浜?Map?ュ?o?涓昏??哄???ㄤ?HashMap??璁哥┖锛?null锛????鹼?key锛?,?變???绾跨?瀹?????ㄥ????涓?涓?绾跨?璁塊???????典?锛?????瑕?楂?浜?Hashtable???

HashMap??璁稿?null浣?涓轟?涓?entry??key????value锛???Hashtable涓???璁搞???

HashMap??Hashtable??contains?規??繪??浜?锛??規??containsvalue??containsKey????涓?ontains?規?瀹規??璁╀漢寮?璧瘋??瑙c???

Hashtable缁ф?胯??Dictionary绫夥???HashMap??Java1.2寮?杩???Map?interface??涓?涓?瀹??般???

??澶х??涓?????锛?Hashtable???規???Synchronize??锛???HashMap涓???锛??ㄥ?涓?绾跨?璁塊??Hashtable?訛?涓???瑕???宸變負瀹????規?瀹??闆??姝ワ???HashMap?灏卞?椤諱負涔???渚?澶???姝ャ???

Hashtable??HashMap???ㄧ??hash/rehash绠?娉??藉ぇ姒?涓??鳳???浠ユ?ц?戒?浼???寰?澶х??宸?寮???

灏?ashMap涓?HashTable涓昏?浠?涓??歸?㈡?ヨ?淬???

涓?.???插????:Hashtable???轟????х??Dictionary绫葷??锛?HashMap??Java?1.2寮?杩???Map?ュ?g??涓?涓?瀹??奧?

浜?.??姝ユ??Hashtable??绾跨?瀹??ㄧ??锛?涔?灏辨??璇存????姝ョ??锛???HashMap??绾跨?搴?涓?瀹??ㄧ??锛?涓?????姝ョ???

涓?.?鹼?????HashMap??浠ヨ?╀?灏?绌哄?間?涓轟?涓?琛ㄧ???$????key??value?

5??List????Map??哄???

涓?涓???瀛??ㄥ?????版????????锛????涓???瀛??ㄩ?????艱??風???????版????????锛?List涓?瀛??ㄧ???版??????椤哄?锛?骞朵???璁擱??澶?锛?Map涓?瀛??ㄧ???版????娌℃??椤哄???锛??堕????涓??介??澶???锛?瀹????兼????浠ユ????澶?????

35??List,?Set,?Map????戶?胯??Collection?ュ???

???List锛?Set??锛?Map涓????

109??List??Map??Set涓?涓??ュ?o?瀛?????绱??訛?????浠?涔??圭?癸??

杩??風??棰?灞?浜????????ラ?锛?杩??風??棰?姣?杈???姘村鈎锛?涓や釜?歸?㈢??姘村鈎锛?涓???瑕???姝f???借?浜???瀹癸?浜???瑕???杈?寮虹???葷???琛ㄨ堪?藉????濡???浣????斤?浣?琛ㄨ堪涓?娓?妤?锛??ㄥ??浜洪?i????绛???浜?涓????姐??

棣???锛?List涓?Set?鋒???鎬技?э?瀹?浠??芥????????绱???????锛???浠ワ?瀹?浠???涓?涓????卞?????舵?ュ?o???Collection??Set???????璁告????澶?????绱?锛???璋???澶?锛??充??芥??涓や釜?哥??锛?娉ㄦ??锛?涓???浠?浠????稿??锛???瀵矽薄?锛??沖??璁?et????涓???浜?涓?涓?A瀵矽薄锛??闆?ㄦ??瑕???Set??????瀛??ヤ?涓?B瀵矽薄锛?浣?B瀵矽薄涓?A瀵矽薄equals?哥??锛???B瀵矽薄瀛??ㄤ?杩??夥???浠ワ?Set??????add?規???涓?涓?boolean??杩????鹼?褰?????涓?娌℃????涓???绱?锛?姝ゆ??dd?規??????????ヨ?ュ??绱??訛???杩???true锛?褰?????????涓???涓???绱?equals?哥??????绱??訛?姝ゆ??dd?規???娉????ヨ?ュ??绱?锛?杩???缁???涓?alse??Set????绱??訛?娌℃?璇村??绗???涓?锛????戒互Iterator?ュ?e??寰?????????绱?锛?????涓???????涓???绱???

List琛ㄧず??????椤哄???????锛??娉ㄦ??锛?涓????g???骞撮?????澶у?????浠鋒?間?绫葷????搴???褰???浠?澶?娆¤???dd(Obj?e)?規??訛?姣?娆″???ョ??瀵矽薄灏卞????杞???涔扮エ??????椤哄?涓??鳳??????ュ???扮??椤哄???搴??????跺??锛?涔???浠ユ????锛??寵???dd(int?index,Obj?e)?規?锛?灏卞??浠ユ??瀹?褰???瀵矽薄?ㄩ????涓???瀛??句?缃???涓?涓?瀵矽薄??浠ヨ???澶?瀛??ㄨ?List涓?锛?姣?璋??ㄤ?娆?dd?規?锛?杩?涓?瀵矽薄灏辮????ヨ?????涓?涓?娆★??跺??锛?骞朵?????杩?涓?瀵矽薄??韬?瀛??ㄨ?浜?????涓?锛??????ㄩ????涓??ㄤ?涓?绱㈠?????????杩?涓?瀵矽薄锛?褰?杩?涓?瀵矽薄琚?add澶?娆℃?訛??崇?稿?浜?????涓???澶?涓?绱㈠?????浜?杩?涓?瀵矽薄锛?濡?????绀恒??List?や???浠ヤ互Iterator?ュ?e??寰?????????绱?锛?????涓???????涓???绱?涔?澶?锛?杩???浠ヨ???et(index?i)?ユ??纭?璇存????绗???涓???

Map涓?List??Set涓???锛?瀹?????????????锛??朵腑??put?規?锛?瀹?涔?濡?涓?锛?put(obj?key,obj?value)锛?姣?娆″???ㄦ?訛?瑕?瀛??ㄤ?瀵?ey/value锛?涓??藉???ㄩ??澶???key锛?杩?涓???澶???瑙???涔?????equals姣?杈??哥??????????浠ユ?規??key?峰??稿???value锛???et(Object?key)杩????間負key???瀵瑰???value?????锛?涔???浠ヨ?峰???????key??缁???锛?杩???浠ヨ?峰???????value??缁???锛?杩???浠ヨ?峰?key??value缁???????Map.Entry瀵矽薄????????

List?浠ョ?瑰??娆″??ユ??????绱?锛???????澶???绱???Set???娉??ユ????澶???绱?,???ㄦ??搴???Map?淇?瀛?key-value?鹼?value??澶??箋??

HashSet????ashcode?肩????绉?杩?绠??瑰?杩?琛?瀛??????涓????存?ユ??hashCode?肩??澶у?杩?琛?瀛??ㄣ??渚?濡?锛?"abc"?--->?78锛?"def"?--->?62锛?"xyz"?--->?65??ashSet涓???瀛??ㄩ『搴?涓???62,65,78锛?杩?浜???棰???璋?互??涓?涓???宕??ョ??瀛??????猴???????杩??ョ??婧?浠g??缁?浠?瑙i??娓?妤?锛?????娆″?矽??瀛???褰?涓???澶?灏??界????婧?????LinkedHashSet?????ョ??椤哄?瀛?????h?瀛??ㄥ?矽薄??hashcode?規?杩???浠?涔?浣??ㄥ???瀛????蟲??hashset????姣?杈?涓や釜瀵矽薄?????哥??锛?棣?????hashcode?規??????哥??锛??跺????equals?規??????哥????new?涓や釜Student???ュ??ashSet涓?锛???HashSet??size锛?瀹???ashcode??equals?規???????size??

??涓?涓?瀵矽薄??浠ュ??ector涓????ュ?娆°??寰????????㈠????绱?锛??稿?浜????????ㄤ??圭懷瀛?杩??ュ?頒?????瀵矽薄??寰?HashSet涓??村??涓?浜?澶?娆$?????

7??璇村??rrayList,Vector,?LinkedList??瀛??ㄦ?ц?藉???規???

ArrayList??Vector?芥??浣跨?ㄦ?扮??瑰?瀛??ㄦ?版??锛?姝ゆ?扮???绱??闆ぇ浜?瀹???瀛??ㄧ???版??浠ヤ究澧????????ュ??绱?锛?瀹?浠??藉??璁哥?存?ユ??搴??風儲寮???绱?锛?浣??????ュ??绱?瑕?娑????扮???绱?绉誨?ㄧ????瀛???浣?锛???浠ョ儲寮??版??蹇??????ユ?版?????Vector?變?浣跨?ㄤ?synchronized?規?锛?绾跨?瀹????锛???甯告?ц?戒?杈?ArrayList宸?锛???LinkedList浣跨?ㄥ?????捐〃瀹??闆???????搴??風儲寮??版????瑕?杩?琛???????????????锛?浣??????ユ?版???跺????瑕?璁闆???椤圭??????椤瑰?沖??锛???浠ユ???ラ??搴??蹇???

LinkedList涔???绾跨?涓?瀹??ㄧ??锛?LinkedList??渚?浜?涓?浜??規?锛?浣垮?LinkedList??浠ヨ?褰?浣????????????ヤ嬌?ㄣ??

4???繪??涓?涓?Vector????涓???澶?????绱??

Vector?newVector?=?new?Vector();

For?(int?i=0;i<vector.size();i++)

{

Object?obj?=?vector.get(i);

if(!newVector.contains(obj);

newVector.add(obj);

}

杩???涓?绉?绠??????瑰?锛?HashSet?set?=?new?HashSet(vector);?

9??Collection????Collections???哄?????

????Collection??????绫葷??涓?绾ф?ュ?o?缁ф?誇?浠????ュ?d富瑕???Set???List.?

Collections????瀵歸????绫葷??涓?涓?甯??╃被锛?浠???渚?涓?绯誨???????規?瀹??闆?瑰??绉?????????绱?????搴???绾跨?瀹??ㄥ??绛???浣????

39??Set??????绱???涓??介??澶???锛??d??ㄤ?涔??規??ュ?哄????澶?涓??????????=杩???equals()??瀹?浠???浣??哄????

Set??????绱???涓??介??澶???锛???绱???澶?涓?????浣跨??quals()?規?杩?琛??ゆ???????

???equals()??==?規??沖??寮??ㄥ?兼??????????涓?瀵矽薄equals()?ㄧ被涓?琚?瑕???锛?涓虹????褰?涓や釜??绂葷??瀵矽薄????瀹瑰??绫誨???擱????璇?锛?杩??????箋??

53??浣????ラ????????绫婚?芥????浜?锛?涓昏??規?锛??

??甯哥?ㄧ??????绫繪???List????Map???List????蜂?瀹??闆?????ArrayList????Vector锛?瀹?浠???????澶у?????琛??姣?杈???????寤恒??瀛??ㄥ????浣?浠諱?绫誨??瀵矽薄????绱???琛ㄣ???List????ㄤ????闆?肩儲寮?璁塊????绱?????褰????

Map???渚?浜?涓?涓??撮???ㄧ????绱?瀛??ㄦ?規????Map?????绫葷?ㄤ?瀛??ㄥ??绱?瀵癸?绉頒?"??"??"??锛?锛??朵腑姣?涓?????灏??頒?涓??箋???

ArrayList/Vector?List

?????????????????????Collection

HashSet/TreeSet?Set

Propeties?HashTable

?Map

Treemap/HashMap

??璁扮??涓????規???锛????????籌????ラ??瀹?浠??芥??澧????規?ョ???規?锛?浣?杩?浜??規????蜂???绉幫???璁闆?涓???寰?娓?妤?锛?瀵逛?set锛?澶ф????規???add,remove,?contains锛?瀵逛?map锛?澶ф????規?灏辨??put,remove锛?contains绛?锛???涓猴?????瑕???clispe涓????規??浣?绗??寰????剁??杩?浜??規?灏卞?烘?ヤ?????璁頒???涓?浜????沖氨??List绫諱???get(int?index)杩??風???規?锛???涓哄????浠ユ??椤哄?????绱?锛???set绫諱腑娌℃??get(int?index)杩??風???規???List??set?藉??浠ヨ凱浠e?烘??????绱?锛?杩?浠f?跺??瑕?寰??頒?涓?iterator瀵矽薄锛???浠ワ?set??list绫婚?芥??涓?涓?iterator?規?锛??ㄤ?杩????d釜iterator瀵矽薄??map??浠ヨ???涓?涓?????锛?涓?涓???杩?????????key??????锛????涓?涓?杩???????????value??????锛???涓?涓?杩?????key??value缁???????EntrySet瀵矽薄??????锛?map涔???get?規?锛????版??key锛?杩????兼??key瀵瑰???value???

45??涓や釜瀵矽薄?肩?稿??(x.equals(y)?==?true)锛?浣??村????涓?????hash?code锛?杩??ヨ??瀵逛?瀵??

瀵廣??

濡???瀵矽薄瑕?淇?瀛???ashSet??HashMap涓?锛?瀹?浠???equals?哥??锛??d?锛?瀹?浠???hashcode?煎氨蹇?椤葷?哥????

濡???涓???瑕?淇?瀛???ashSet??HashMap锛???涓?hashcode娌℃??浠?涔??崇郴浜?锛?杩??跺??hashcode涓?绛?????浠ョ??锛?渚?濡?arrayList瀛??ㄧ??瀵矽薄灏變??ㄥ????ashcode锛?褰??訛???浠?娌℃?????變?瀹??幫???甯擱?戒??誨???扮????

46??TreeSet???㈡?懼?矽薄锛?濡??????舵?懼?ヤ??剁被??瀛?绫葷??瀹?渚?瀵矽薄锛??f??杈??朵嬌?ㄧ?????剁被??compareTo?規?锛?杩???浣跨?ㄧ??瀛?绫葷??compareTo?規?锛?杩?????寮?甯革??

锛?搴?璇ユ??娌℃????瀵歸??棰???纭?????绛?妗?锛?褰?????add?規??懼?ョ??????涓?瀵矽薄锛?灏辮??ㄥ??涓?瀵矽薄??compareTo?規?锛??充?杩?涓?compareTo?規???涔???锛?灏辯??褰???杩?涓?瀵矽薄??绫諱腑??濡?浣?缂???杩?涓??規???锛?

瀹?楠?浠g??锛?

public?class?Parent?implements?Comparable?{

private?int?age?=?0;

public?Parent(int?age){

this.age?=?age;

}

public?int?compareTo(Object?o)?{

//?TODO?Auto-generated?method?stub

System.out.println("method?of?parent");

Parent?o1?=?(Parent)o;

return?age>o1.age?1:age<o1.age?-1:0;

}

}

public?class?Child?extends?Parent?{

public?Child(){

super(3);

}

public?int?compareTo(Object?o)?{

//?TODO?Auto-generated?method?stub

System.out.println("method?of?child");

//Child?o1?=?(Child)o;

return?1;

}

}

public?class?TreeSetTest?{

public?static?void?main(String[]?args)?{

//?TODO?Auto-generated?method?stub

TreeSet?set?=?new?TreeSet();

set.add(new?Parent(3));

set.add(new?Child());

set.add(new?Parent(4));

System.out.println(set.size());

}

}

112??璇村?轟?浜?甯哥?ㄧ??绫夥???锛??ュ?o?璇峰??涓?涓??

瑕?璁╀漢瀹舵??瑙?浣?瀵?ava?ee寮???寰???锛???浠ワ?涓??戒?浠?????core?java涓????d?涓?瑗匡?瑕?澶???浣??ㄥ??ssh椤圭??涓?娑??????d?涓?瑗褲??灏卞??浣???杩??????d?绋?搴?涓?娑??????d?绫彙??

甯哥?ㄧ??绫夥?BufferedReader??BufferedWriter??FileReader??FileWirter??String??Integer?

java.util.Date锛?System锛?Class锛?List,HashMap

甯哥?ㄧ????锛?java.lang???java.io??java.util??java.sql?,javax.servlet,org.apache.strtuts.action,org.hibernate

甯哥?ㄧ???ュ?o?Remote??List??Map??Document??NodeList?,Servlet,HttpServletRequest,HttpServletResponse,Transaction(Hibernate)??Session(Hibernate),HttpSession

100??java涓?????绉?绫誨????娴?锛?JDK涓烘??绉?绫誨????娴???渚?浜?涓?浜??借薄绫諱互渚?缁ф?匡?璇瘋?村?轟?浠?????????浜?绫夥??

瀛???娴?锛?瀛?绗????瀛???娴?缁ф?誇?InputStream?OutputStream锛?瀛?绗??缁ф?誇?InputStreamReader?OutputStreamWriter????ava.io??涓?杩???璁稿??朵???娴?锛?涓昏???涓轟???楂??ц?藉??浣跨?ㄦ?逛究???

102??瀛???娴?涓?瀛?绗?????哄??

瑕???涓???浜?杩??舵?版???版????涓?杈??哄?版??涓?璁懼?涓?锛?????浠???涓?璁懼?涓???涓?璇誨??涓???浜?杩??舵?版??锛?涓?绠¤??ヨ??鴻?懼???浠?涔?锛???浠?瑕??ㄧ?涓????瑰??ュ????杩?浜???浣?锛??ㄤ?绉??借薄???瑰?杩?琛???杩幫?杩?涓??借薄??杩版?瑰?璧峰??涓?O娴?锛?瀵瑰????借薄绫諱負OutputStream??InputStream?锛?涓?????瀹??扮被灏變唬琛ㄤ?????杈??ュ??杈??鴻?懼?锛?瀹?浠??芥????瀵瑰????杩?琛???浣?????

?ㄥ??ㄤ腑锛?缁?甯歌?瀹??ㄦ??瀛?绗???涓?娈墊????杈??哄?繪??璇昏??ワ??ㄥ????娴???浠ュ??锛?璁$???轟腑??涓?????缁??芥??浜?杩??剁??瀛???褰㈠?瀛??ㄣ??瀵逛???涓??解??杩?浜?瀛?绗??棣???瑕?寰??闆?跺?瑰???瀛???锛??跺??灏?瀛??????ュ?拌??烘???璇誨???訛?棣???璇誨?扮????瀛???锛???????浠?瑕???瀹??劇ず涓哄??绗????浠???瑕?灏?瀛???杞??㈡??瀛?绗????變?杩??風????姹?寰?骞挎?锛?浜哄?朵??ㄦ??渚?浜?瀛?绗??????瑁?绫彙??

??搴?灞?璁懼?姘歌????ュ??瀛????版??锛????跺??瑕???瀛?绗?覆?闆?灞?璁懼?锛???瑕?灏?瀛?绗?覆杞???瀛?????杩?琛????ャ??瀛?绗????瀛???娴?????瑁?锛?瀛?绗???????存?ユ?ュ??瀛?绗?覆锛?瀹????ㄥ?涓茶漿??瀛???锛??????ュ?灞?璁懼?锛?杩?涓烘??浠???IO璁懼?????ユ??璇誨??瀛?绗?覆??渚?浜?涓??圭?規?逛究??

??瀛?绗???瀛???杞??㈡?訛?瑕?娉ㄦ??缂???????棰?锛???涓哄??绗?覆杞???瀛????扮?锛?

???跺????杞???璇ュ??绗?????绉?缂?????瀛???褰㈠?锛?璇誨??涔?????涔?????????

璁茶В瀛???娴?涓?瀛?绗???崇郴??浠g??妗?渚?锛?

import?java.io.BufferedReader;

import?java.io.FileInputStream;

import?java.io.FileOutputStream;

import?java.io.FileReader;

import?java.io.FileWriter;

import?java.io.InputStreamReader;

import?java.io.PrintWriter;

public?class?IOTest?{

public?static?void?main(String[]?args)?throws?Exception?{

String?str?=?"涓??戒漢";

PrintWriter?pw?=?new?PrintWriter("1.txt","utf-8");

pw.write(str);

pw.close();

BufferedReader?br?=?new?BufferedReader(

new?InputStreamReader(

new?FileInputStream("1.txt"),"UTF-8"

)

);

String?myStr?=?br.readLine();

br.close();

System.out.println(myStr);

}

}

105??浠?涔???java搴?????锛?濡?浣?瀹???ava搴?????锛?????璇瘋В??Serializable?ュ?g??浣??ㄣ???

??浠????跺??灏?涓?涓?java瀵矽薄????瀛???娴???褰㈠?浼??哄?繪????浠?涓?涓?瀛???娴?涓??㈠???涓?涓?java瀵矽薄锛?渚?濡?锛?瑕?灏?java瀵矽薄瀛??ㄥ?扮‖??????浼???缁?缃?缁?涓????朵?璁$???猴?杩?涓?杩?绋???浠???浠ヨ??宸卞??浠g???繪??涓?涓?java瀵矽薄??????涓??煎???瀛???娴???浼?杈?锛?浣???锛?jre??韬?灏辨??渚?浜?杩?绉?????锛???浠???浠ヨ???utputStream??writeObject?規??ュ??锛?濡???瑕?璁?ava?甯???浠???锛?瑕?琚?浼?杈???瀵矽薄蹇?椤誨????erializable?ュ?o?杩??鳳?javac缂?璇??跺氨浼?杩?琛??規??澶???锛?缂?璇???绫繪????浠ヨ?writeObject?規???浣?锛?杩?灏辨????璋???搴?????????瑕?琚?搴???????绫誨?椤誨????erializable?ュ?o?璇ユ?ュ?f??涓?涓?mini?ュ?o??朵腑娌℃????瑕?瀹??扮???規?锛?implements?Serializable????涓轟???娉ㄨ?ュ?矽薄????琚?搴??????????

渚?濡?锛???eb寮???涓?锛?濡???瀵矽薄琚?淇?瀛??ㄤ?Session涓?锛?tomcat?ㄩ?????惰???Session瀵矽薄搴??????扮‖??锛?杩?涓?瀵矽薄灏卞?椤誨????erializable?ュ?c??濡???瀵矽薄瑕?缁?杩???甯?寮?绯葷?杩?琛?缃?缁?浼?杈?????杩?rmi绛?杩?绋?璋????杩?灏遍??瑕??ㄧ?缁?涓?浼?杈?瀵矽薄锛?琚?浼?杈???瀵矽薄灏卞?椤誨????erializable?ュ?c??

54????杩頒?涓?JVM??杞?lass??浠剁???????哄???

JVM涓?绫葷??瑁?杞芥????lassLoader??瀹???瀛?绫繪?ュ???扮??,Java?ClassLoader???涓?涓???瑕???Java杩?琛??剁郴缁?缁?浠躲??瀹?璐?璐e?ㄨ?琛??舵?ユ?懼??瑁??ョ被??浠剁??绫彙???

18??heap??stack??浠?涔??哄?????

java????瀛???涓轟袱绫夥?涓?绫繪??????瀛?锛?涓?绫繪??????瀛???????瀛?????绋?搴?杩??ヤ?涓??規??訛?浼?涓鴻?涓??規?????????涓???绉?灞?瀛??ㄧ┖?達??ㄤ?瀛??ㄨ?涓??規????ㄧ??灞??ㄥ????锛?褰?杩?涓??規?缁????訛?????缁?杩?涓??規?????浼????撅?杩?涓???涓???????涔?灏???涔????俱??

????涓???浣??ㄤ???????瀛?锛?涓????ㄤ?瀛??句??懼?ㄥ????規???涓????d??版??锛?渚?濡?锛?浣跨??ew??寤虹??瀵矽薄?芥?懼?ㄥ????锛???浠ワ?瀹?涓?浼????規???缁?????娑?澶便???規?涓???灞??ㄥ????浣跨??inal淇?楗闆??锛??懼?ㄥ??涓?锛???涓?????涓????

24??GC??浠?涔???涓轟?涔?瑕???GC???????

GC?????炬?堕????????锛?Gabage?Collection锛?,??瀛?澶?????缂?绋?浜哄??瀹規???虹?伴??棰????版?癸?蹇?璁版??????璇?????瀛????朵?瀵艱?寸?搴???绯葷???涓?绋沖?????沖穿婧?锛?Java??渚???GC???藉??浠ヨ???ㄧ??娴?瀵矽薄?????杩?浣??ㄥ??浠???杈懼?拌???ㄥ???跺??瀛???????锛?Java璇?瑷?娌℃????渚????懼凡??????瀛????劇ず??浣??規???

51?????懼???剁??浼??瑰????????骞惰????2绉????舵?哄?躲???

Java璇?瑷?涓?涓?涓??捐?????圭?瑰氨??寮??ヤ????懼???舵?哄?訛?浣?++绋?搴?????澶寸?肩????瀛?绠$??????棰?杩?????瑙o?瀹?浣垮?Java绋?搴????ㄧ???绋?搴????跺??涓?????瑕???????瀛?绠$?????變???涓????懼???舵?哄?訛?Java涓???瀵矽薄涓?????"浣??ㄥ??"??姒?蹇碉?????瀵矽薄??寮??ㄦ????"浣??ㄥ??"?????懼???跺??浠ユ???????叉?㈠??瀛?娉??詫???????浣跨?ㄥ??浠ヤ嬌?ㄧ????瀛??????懼???跺?ㄩ??甯告??浣?涓轟?涓???????浣?绾у????绾跨?杩?琛?锛?涓???棰??ョ?????典?瀵瑰??瀛???涓?宸茬?姝諱骸???????挎?堕?存病??浣跨?ㄧ??瀵矽薄杩?琛?娓?妤??????訛?绋?搴???涓??藉???剁??璋??ㄥ???懼???跺?ㄥ?規??涓?瀵矽薄??????瀵矽薄杩?琛????懼???躲?????舵?哄?舵????浠e??跺???懼???跺????璁闆???懼???訛?澧??????懼???躲??

103?????懼???跺?ㄧ???烘????????浠?涔?锛????懼???跺?ㄥ??浠ラ┈涓????跺??瀛???锛???浠?涔???娉?涓誨?ㄩ???ヨ?????鴻?琛????懼???訛??

瀵逛?GC?ヨ?達?褰?绋?搴?????寤哄?矽薄?訛?GC灏卞?濮????ц?涓?瀵矽薄???闆????澶у?浠ュ??浣跨?ㄦ???點????甯革?GC???ㄦ?????劇???瑰?璁闆???绠$????(heap)涓???????瀵矽薄????杩?杩?绉??瑰?纭?瀹???浜?瀵矽薄??"??杈劇??"锛???浜?瀵矽薄??"涓???杈劇??"??褰?GC纭?瀹?涓?浜?瀵矽薄涓?涓???杈??訛?GC灏辨??璐d換???惰?浜???瀛?绌洪?淬????浠ャ??绋?搴?????浠ユ???ㄦ?ц?System.gc()锛?????C杩?琛?锛?浣???Java璇?瑷?瑙???骞朵?淇?璇?GC涓?瀹?浼??ц????

?

23??浠?涔??跺????ssert???

assertion(??瑷?)?ㄨ蔣浠跺???涓???涓?绉?甯哥?ㄧ??璋?璇??瑰?锛?寰?澶?寮???璇?瑷?涓??芥????杩?绉??哄?躲???ㄥ???頒腑锛?assertion灏辨???ㄧ?搴?涓???涓??¤???ワ?瀹?瀵逛?涓?boolean琛ㄨ揪寮?杩?琛?妫??ワ?涓?涓?姝g‘绋?搴?蹇?椤諱?璇?杩?涓?boolean琛ㄨ揪寮????間負true锛?濡???璇ュ?間負false锛?璇存??绋?搴?宸茬?澶?浜?涓?姝g‘???舵??涓?锛?assert灏?缁??鴻?????????恒??涓????ヨ?達?assertion?ㄤ?淇?璇?绋?搴????烘?????抽????姝g‘?с??assertion妫??ラ??甯稿?ㄥ?????娴?璇??跺?????涓轟???楂??ц?斤??ㄨ蔣浠跺??甯???锛?assertion妫??ラ??甯告???抽???????

package?com.huawei.interview;

public?class?AssertTest?{

public?static?void?main(String[]?args)?{

//?TODO?Auto-generated?method?stub

int?i?=?0;

for(i=0;i<5;i++)

{

System.out.println(i);

}

//??璁劇?搴?涓?灏?蹇?澶?浜?涓???-i;

--i;

assert?i==5;

}

}

101??java涓?浼?瀛??ㄥ??瀛?娉?婕???锛?璇風??????杩般???

??璋???瀛?娉??插氨????涓?涓?涓???琚?绋?搴?浣跨?ㄧ??瀵矽薄??????涓??磋??????ㄥ??瀛?涓???java涓??????懼???舵?哄?訛?瀹???浠ヤ?璇?涓?瀵矽薄涓???琚?寮??ㄧ???跺??锛??沖?矽薄缂?绋?浜?瀛ゅ?跨???跺??锛?瀵矽薄灏????ㄨ????懼???跺?ㄤ???瀛?涓?娓??ゆ?????變?Java?浣跨?ㄦ?????劇???瑰?杩?琛????懼???剁?$??锛???浠ユ??ゅ??ㄥ驚??????棰?锛?渚?濡???涓や釜瀵矽薄锛??鎬?寮??????瑕?瀹?浠????矽?绋?涓???杈劇??锛??d?GC涔?????浠ュ???跺??浠???锛?渚?濡?涓??㈢??浠g????浠ョ???拌?绉????電????瀛????訛?

package?com.huawei.interview;

import?java.io.IOException;

public?class?GarbageTest?{

public?static?void?main(String[]?args)?throws?IOException?{

//?TODO?Auto-generated?method?stub

try?{

gcTest();

}?catch?(IOException?e)?{

//?TODO?Auto-generated?catch?block

e.printStackTrace();

}

System.out.println("has?exited?gcTest!");

System.in.read();

System.in.read();

System.out.println("out?begin?gc!");

for(int?i=0;i<100;i++)

{

System.gc();

System.in.read();

System.in.read();

}

}

private?static?void?gcTest()?throws?IOException?{

System.in.read();

System.in.read();

Person?p1?=?new?Person();

System.in.read();

System.in.read();

Person?p2?=?new?Person();

p1.setMate(p2);

p2.setMate(p1);

System.out.println("before?exit?gctest!");

System.in.read();

System.in.read();

System.gc();

System.out.println("exit?gctest!");

}

private?static?class?Person

{

byte[]?data?=?new?byte[20000000];

Person?mate?=?null;

public?void?setMate(Person?other)

{

mate?=?other;

}

}

}

java涓?????瀛?娉??茬?????碉??跨???藉?ㄦ????瀵矽薄?????????藉?ㄦ??瀵矽薄??寮??ㄥ氨寰????藉??????瀛?娉??詫?灏界?$?????藉?ㄦ??瀵矽薄宸茬?涓?????瑕?锛?浣?????涓洪?跨???藉?ㄦ??瀵矽薄????瀹???寮??ㄨ??瀵艱?翠??借????訛?杩?灏辨??java涓???瀛?娉??茬???????烘??锛???淇??拌?達?灏辨??绋?搴??????藉??寤轟?涓?涓?瀵矽薄锛?浠ュ??涓??翠???浣跨?ㄨ?涓?瀵矽薄锛?杩?涓?瀵矽薄?翠??磋?寮?????寵?涓?瀵矽薄???ㄤ????存??娉?琚????懼???跺?ㄥ???剁??锛?杩?灏辨??java涓????藉?虹?闆??瀛?娉??茬?????碉?渚?濡?锛?缂?瀛?绯葷?锛???浠???杞戒?涓?涓?瀵矽薄?懼?ㄧ?瀛?涓?(渚?濡??懼?ㄤ?涓??ㄥ?map瀵矽薄涓?)锛??跺??涓??翠???浣跨?ㄥ??锛?杩?涓?瀵矽薄涓??磋?缂?瀛?寮????浣??翠???琚?浣跨?ㄣ??

妫???ava涓?????瀛?娉??詫?涓?瀹?瑕?璁╃?搴?灏???绉????????甸?藉???存?ц??扮?搴?缁???锛??跺??????涓?瀵矽薄?????浣跨?ㄨ?锛?濡???娌℃??锛??????藉?ゅ??杩?涓?瀵矽薄灞?浜???瀛?娉??層??

濡???涓?涓?澶??ㄧ被??瀹?渚?瀵矽薄???規?杩???浜?涓?涓????ㄧ被??瀹?渚?瀵矽薄锛?杩?涓????ㄧ被瀵矽薄琚??挎??寮??ㄤ?锛??充嬌?d釜澶??ㄧ被瀹?渚?瀵矽薄涓???琚?浣跨???浣??變????ㄧ被??涔?澶??ㄧ被??瀹?渚?瀵矽薄锛?杩?涓?澶??ㄧ被瀵矽薄灏?涓?浼?琚????懼???訛?杩?涔?浼???????瀛?娉??層??

涓??㈠??瀹規?ヨ??浜?缃?涓?锛?涓昏??圭?瑰氨??娓?绌哄????涓?????涓???绱?锛?骞朵???褰誨???瀹?浠??扮?涓??挎??锛???????瀛??ㄧ???繪?闆??灏?锛???浜哄??寰???浠ユ??杩?涓?濂斤??ㄦ?挎????涓???绱??訛?椤轟究涔?璁╁??浠??扮?涓?娑?澶憋?灏??d釜??绱????ㄧ??浣?缃????艱?劇疆涓?ull?沖??锛?锛?

??瀹??ㄦ?充??版???d釜?????寸??哥??渚?瀛?浜?,浠ヨ?翠???杩?瑕?寮??ㄥ??浜虹??渚?瀛?锛?涓??㈢??渚?瀛?涓??????沖?扮??锛???涔?????扮??锛?褰??跺???娌℃???ㄤ功涓????幫????借?涓?娈墊?堕?存????宸變??崇???幫??????f?舵??璇存??????宸辨?沖?扮??涔?娌℃??浜虹?鎬俊????

????public?class?Stack?{

????private?Object[]?elements=new?Object[10];

????private?int?size?=?0;

????public?void?push(Object?e){

????ensureCapacity();

????elements[size++]?=?e;

????}

????public?Object?pop(){

????if(?size?==?0)

????throw?new?EmptyStackException();

????return?elements[--size];

????}

????private?void?ensureCapacity(){

????if(elements.length?==?size){

????Object[]?oldElements?=?elements;

????elements?=?new?Object[2?*?elements.length+1];

????System.arraycopy(oldElements,0,?elements,?0,?size);

????}

????}

????}

????涓??㈢??????搴?璇ュ?绠???锛???濡???????浜?10涓???绱?锛??跺???ㄩ?ㄥ脊?烘?ワ??界?跺??????绌虹??锛?娌℃????浠?瑕???涓?瑗匡?浣???杩???涓?瀵矽薄????娉????剁??锛?杩?涓???绗???浜???瀛?娉??茬??涓や釜?′歡锛????????娉????躲??

????浣???灏辨??瀛??ㄨ??風??涓?瑗誇?涓?涓?瀹?浼?瀵艱?翠?涔??風??????锛?濡???杩?涓??????ㄧ??姣?杈?灏?锛?涔?灏辨氮璐逛???涓?K??瀛???宸詫???姝f??浠?????瀛??戒?G浜?锛?????浼???浠?涔?褰卞??锛???璇磋?涓?涓?瑗垮?蹇?灏變?琚????剁??锛???浠?涔??崇郴??涓??㈢??涓や釜渚?瀛???

????渚?瀛?1

????public?class?Bad{

????public?static?Stack?s=Stack();

????static{

????s.push(new?Object());

????s.pop();?//杩?????涓?涓?瀵矽薄??????瀛?娉??? ????s.push(new?Object());?//涓??㈢??瀵矽薄??浠ヨ????朵?锛?绛?浜???????浜?

????}

????}

??????涓烘??static锛?灏變??村???ㄥ?扮?搴????猴?浣?????浠?涔???浠ョ???闆???????????斤?灏辨??璇村???浣???Stack??澶???100涓?瀵矽薄锛??d???澶?涔?灏卞????100涓?瀵矽薄??娉?琚????跺?跺??杩?涓?搴?璇ュ?瀹規????瑙o?Stack???ㄦ????100涓?寮?????????????靛氨??浠?浠??芥?????ㄧ??锛???涓烘??浠?涓????炬?扮??杩???锛?浠ュ????寮??ㄨ???舵?澶憋?

??瀛?娉??茬?????涓?绉????碉?褰?涓?涓?瀵矽薄琚?瀛??ㄨ?HashSet????涓?浠ュ??锛?灏變??戒慨?矽?涓?瀵矽薄涓????d???涓?璁$????甯??肩??瀛?娈典?锛?????锛?瀵矽薄淇??瑰??????甯??間?????瀛??ㄨ?HashSet????涓??剁????甯??煎氨涓???浜?锛??ㄨ?绉????典?锛??充嬌??ontains?規?浣跨?ㄨ?ュ?矽薄??褰???寮??ㄤ?涓虹?????闆??ashSet????涓?妫?绱㈠?矽薄锛?涔?灏?杩????句??闆?矽薄??缁???锛?杩?涔?浼?瀵艱?存??娉?浠?HashSet????涓????????ゅ???瀵矽薄锛???????瀛?娉??層??

8???戒??借??宸卞??涓?绫夥?涔???java.lang.String锛?

??浠ワ?浣??ㄥ??ㄧ???跺??锛???瑕??ㄨ??宸辯??绫誨??杞藉?ㄥ?誨??杞斤?????锛?绯葷???绫誨??杞藉?ㄦ案杩??????誨??杞?re.jar??涓????d釜java.lang.String???變???omcat??web搴??ㄧ?搴?涓?锛??芥????ebapp??宸辯??绫誨??杞藉?ㄥ????宸卞??杞?EB-INF/classess??褰?涓???绫夥??跺????濮???涓?绾х??绫誨??杞藉?ㄥ??杞斤?濡?????浠???omcat??web搴??ㄧ?搴?涓???涓?涓?java.lang.String锛?杩??跺??Servlet绋?搴???杞界??灏辨????浠???宸卞????java.lang.String锛?浣???杩?涔?骞插氨浼??哄?澶?娼??ㄧ????棰?锛????ユ?????ㄤ?java.lang.String绫葷???藉??虹?伴??棰???

?界??ava??渚?浜?endorsed????锛???浠ヨ???jdk涓?????浜?绫夥??蜂???娉???????浣???锛??藉?琚?瑕?????绫繪???????惰???達???姝d?????java.lang杩??風????涓???绫彙??

锛?涓??㈢??渚?濡?涓昏???渚誇?澶у?跺?????瑙e?????涓?瑕?浣?涓虹??妗???涓??ㄥ??锛?????锛?浜哄?舵??????棰???娉??蹭?锛?渚?濡?锛?杩?琛?涓??㈢??绋?搴?锛?

package?java.lang;

public?class?String?{

public?static?void?main(String[]?args)?{

//?TODO?Auto-generated?method?stub

System.out.println("string");

}

}

?ュ??????璇?濡?涓?锛?

java.lang.NoSuchMethodError:?main

Exception?in?thread?"main"

杩?????涓哄??杞戒?jre??甯???java.lang.String锛???璇ョ被涓?娌℃??main?規???

2.?Java浠g???ラ??

1.

abstract?class?Name?{

???private?String?name;

???public?abstract?boolean?isStupidName(String?name)?{}

}

澶т?浠?锛?杩???浣???璇??

绛?妗?:?????abstract?method蹇?椤諱互???風?灏撅?涓?涓?甯??辨???楓??

2.

public?class?Something?{

???void?doSomething?()?{

???????private?String?s?=?"";

???????int?l?=?s.length();

???}

}

???????

绛?妗?:?????灞??ㄥ??????涓??芥?劇疆浠諱?璁塊??淇?楗扮?β?(private锛?public锛???protected)??final??浠ョ?ㄦ?ヤ慨楗闆??ㄥ????

(final濡???abstract??strictfp锛??芥????璁塊??淇?楗扮???strictfp???戒慨楗?lass??method????variable)??

3.

abstract?class?Something?{

???private?abstract?String?doSomething?();

}

杩?濂藉??娌′?涔?????

绛?妗?:?????abstract??methods涓??戒互private淇?楗般??abstract??methods灏辨??璁╁??绫?mplement(瀹????蜂?缁?????锛???涔???浠ョ??rivate??abstract

method灏???璧鋒?ュ???(????锛?abstract?method??涓??藉??final)??

4.

public?class?Something?{

???public?int?addOne(final?int?x)?{

???????return?++x;

???}

}

杩?涓?姣?杈????俱??

绛?妗?:?????int?x琚?淇?楗版??final锛????崇??x涓??藉??ddOne?method涓?琚?淇??廣??

5.

public?class?Something?{

???public?static?void?main(String[]?args)?{

???????Other?o?=?new?Other();

???????new?Something().addOne(o);

???}

???public?void?addOne(final?Other?o)?{

???????o.i++;

???}

}

class?Other?{

???public?int?i;

}

??涓??㈢??寰??鎬技锛??芥???充?final????棰?锛?杩????????

绛?妗?:?姝g‘????ddOne?method涓?锛?????琚?淇?楗版??final??濡?????ddOne?method????浠?淇??逛?o??reference

(姣?濡?:?o?=?new?Other();)锛??d?濡???涓?渚?杩?棰?涔?????????浣?杩???淇??圭????o??member?vairable

(????????)锛???o??reference骞舵病???瑰????

6.

class?Something?{

????int?i;

????public?void?doSomething()?{

????????System.out.println("i?=?"?+?i);

????}

}?

??浠?涔????????涓??烘?ュ????

绛?妗?:?姝g‘??杈??虹????"i?=?0"??int?i灞???nstant?variable?(瀹?渚?????锛?????????????)??instant?variable??default?value??int??default?value??0??

7.

class?Something?{

????final?int?i;

????public?void?doSomething()?{

????????System.out.println("i?=?"?+?i);

????}

}

??涓????棰?????涓?涓??版?逛???锛?灏辨??澶?浜?涓?涓?final??杩??鵑??灏遍??浜????

绛?妗?:?????final?int?i??涓?final??instant?variable?(瀹?渚?????锛?????????????)??final??instant?variable娌℃??default?value锛?蹇?椤誨??onstructor?(??????缁???涔???琚?璧?浜?涓?涓???纭????箋????浠ヤ慨?逛負"final?int?i?=?0;"??

8.

public?class?Something?{

?????public?static?void?main(String[]?args)?{

????????Something?s?=?new?Something();

????????System.out.println("s.doSomething()?returns?"?+?doSomething());

????}

????public?String?doSomething()?{

????????return?"Do?something?...";

????}

}

???涓??誨?瀹?缇???

绛?妗?:???????涓??誨??ain??call?doSomething娌℃??浠?涔???棰?锛?姣?绔?涓や釜methods?藉?ㄥ??涓?涓?class????浣?浠?缁???锛?main??static????static?method涓??界?存??all?non-static?methods?????規??"System.out.println("s.doSomething()?returns?"?+?s.doSomething());"??????锛?static?method涓??借?塊??non-static?instant?variable??

9.

姝ゅ?锛?Something绫葷????浠跺????OtherThing.java

class?Something?{

????private?static?void?main(String[]?something_to_do)?{????????

????????System.out.println("Do?something?...");

????}

}

?杩?涓?濂藉??寰????俱??

绛?妗?:?姝g‘??浠??ユ病??浜鴻?磋?Java??Class??瀛?蹇?椤誨???舵??浠跺???稿????浣?public?class????瀛?蹇?椤誨????浠跺???稿????

10锛?

interface??A{

???int?x?=?0;

}

class?B{

???int?x?=1;

}

class?C?extends?B?implements?A?{

???public?void?pX(){

??????System.out.println(x);

???}

???public?static?void?main(String[]?args)?{

??????new?C().pX();

???}

}

绛?妗?锛???璇????ㄧ?璇??朵???????璇?(??璇???杩頒?????JVM??涓?????淇℃??锛?????灏辨??????纭???x璋????涓や釜x?藉?歸??锛?灏辮薄?ㄥ????mport?java.util??java.sql涓や釜???剁?存?ュ0??Date涓??鳳???瀵逛??剁被??????,??浠ョ??uper.x?ユ??纭?锛????ュ?g??灞??ч?璁ら????涓郝?public?static?final.??浠ュ??浠ラ??杩?A.x?ユ??纭???

11.

interface?Playable?{

????void?play();

}

interface?Bounceable?{

????void?play();

}

interface?Rollable?extends?Playable,?Bounceable?{

????Ball?ball?=?new?Ball("PingPang");

}

class?Ball?implements?Rollable?{

????private?String?name;

????public?String?getName()?{

????????return?name;

????}

????public?Ball(String?name)?{

????????this.name?=?name;????????

????}

???public?void?play()?{

????????ball?=?new?Ball("Football");

????????System.out.println(ball.getName());

????}

}

杩?涓???璇?涓?瀹規?????般??

绛?妗?:?????"interface?Rollable?extends?Playable,?Bounceable"娌℃????棰???interface??缁ф?垮?涓?interfaces锛???浠ヨ???娌¢??????棰??哄??nterface?Rollable????"Ball?ball?=?new?Ball("PingPang");"??浠諱???nterface??澹版????interface?variable?(?ュ?e????锛?涔???绉版????????)锛?榛?璁や負public?static?final??涔?灏辨??璇?Ball?ball?=?new?Ball("PingPang");"瀹???涓???"public?static?final?Ball?ball?=?new?Ball("PingPang");"????all绫葷??Play()?規?涓?锛?"ball?=?new?Ball("Football");"?瑰??浜?ball??reference锛???杩?????ball?ヨ??Rollable?interface锛?Rollable?interface????ball??public?static?final??锛?final??object??涓??借??瑰??reference??????姝ょ?璇??ㄥ???ball?=?new?Ball("Football");"杩????劇ず??????

4.?绠?娉?涓?缂?绋?

1.?ゆ??韬?浠借??锛?瑕?涔???15浣?锛?瑕?涔???18浣?锛?????涓?浣???浠ヤ負瀛?姣?锛?骞跺??绋?搴????哄?朵腑??骞存???ャ??

绛?锛???浠???浠ョ?ㄦ?e??琛ㄨ揪寮??ュ??涔?澶?????瀛?绗?覆?煎?锛?(\d{17}[0-9a-zA-Z]|\d{14}[0-9a-zA-Z])??浠ョ?ㄦ?ュ?ゆ??????負??娉???15浣???18浣?韬?浠借???風????

??涓?5浣???18浣???韬?浠借???風???芥??浠?7浣??扮??12浣?涓鴻韓浠借??涓烘?ユ??绫誨????杩??鋒??浠???浠ヨ?捐?″?烘?寸簿纭???姝e??妯″?锛?浣胯韓浠借???風???ユ????娉?锛?杩??鋒??浠???姝e??妯″???浠ヨ?涓?姝ュ??ユ???ㄥ????姝e??淇??逛負[12][0-9]{3}[01][0-9][123][0-9]锛?褰??跺??浠ユ?寸簿纭???璁劇疆?ユ????

??dk??java.util.Regex??涓???瀹??版?e????绫?Pattern??Matcher??浠ヤ???瀹??頒唬??锛?

import?java.util.regex.Matcher;

import?java.util.regex.Pattern;

public?class?RegexTest?{

public?static?void?main(String[]?args)?{

//?娴?璇?????負??娉???韬?浠借???風??

String[]?strs?=?{?"130681198712092019",?"13068119871209201x",

"13068119871209201",?"123456789012345",?"12345678901234x",

"1234567890123"?};

Pattern?p1?=?Pattern.compile("(\\d{17}[0-9a-zA-Z]|\\d{14}[0-9a-zA-Z])");

for?(int?i?=?0;?i?<?strs.length;?i++)?{

Matcher?matcher?=?p1.matcher(strs[i]);

System.out.println(strs[i]?+?":"?+?matcher.matches());

}

Pattern?p2?=?Pattern.compile("\\d{6}(\\d{8}).*");?//??ㄤ??????虹???ュ??绗?覆

Pattern?p3?=?Pattern.compile("(\\d{4})(\\d{2})(\\d{2})");//??ㄤ?灏????ュ??绗?覆杩?琛???瑙d負骞存????

for?(int?i?=?0;?i?<?strs.length;?i++)?{

Matcher?matcher?=?p2.matcher(strs[i]);

boolean?b?=?matcher.find();

if?(b)?{

String?s?=?matcher.group(1);

Matcher?matcher2?=?p3.matcher(s);

if?(matcher2.find())?{

System.out

.println("???ヤ負"?+?matcher2.group(1)?+?"骞?

+?matcher2.group(2)?+?"??"

+?matcher2.group(3)?+?"??);

}

}

}

}

}

1??缂???涓?涓?绋?搴?锛?灏?a.txt??浠朵腑????璇?涓?b.txt??浠朵腑????璇?浜ゆ?垮??骞跺??.txt??浠朵腑锛?a.txt??浠朵腑????璇??ㄥ??杞???????锛?b.txt??浠朵腑?ㄥ??杞???绌烘?艱?琛???????

绛?锛?

package?cn.itcast;

import?java.io.File;

import?java.io.FileReader;

import?java.io.FileWriter;

public?class?MainClass{

public?static?void?main(String[]?args)?throws?Exception{

FileManager?a?=?new?FileManager("a.txt",new?char[]{'\n'});

FileManager?b?=?new?FileManager("b.txt",new?char[]{'\n','?'});

FileWriter?c?=?new?FileWriter("c.txt");

String?aWord?=?null;

String?bWord?=?null;

while((aWord?=?a.nextWord())?!=null?){

c.write(aWord?+?"\n");

bWord?=?b.nextWord();

if(bWord?!=?null)

c.write(bWord?+?"\n");

}

while((bWord?=?b.nextWord())?!=?null){

c.write(bWord?+?"\n");

}

c.close();

}

}

class?FileManager{

String[]?words?=?null;

int?pos?=?0;

public?FileManager(String?filename,char[]?seperators)?throws?Exception{

File?f?=?new?File(filename);

FileReader?reader?=?new?FileReader(f);

char[]?buf?=?new?char[(int)f.length()];

int?len?=?reader.read(buf);

String?results?=?new?String(buf,0,len);

String?regex?=?null;

if(seperators.length?>1?){

regex?=?""?+?seperators[0]?+?"|"?+?seperators[1];

}else{

regex?=?""?+?seperators[0];

}

words?=?results.split(regex);

}

public?String?nextWord(){

if(pos?==?words.length)

return?null;

return?words[pos++];

}

}

1??缂???涓?涓?绋?搴?锛?灏?d:\java??褰?涓???????.java??浠跺??跺??:\jad??褰?涓?锛?骞跺????ユ??浠剁???╁???浠?.java?逛負.jad??

锛?澶у?舵?e?ㄥ??涓??㈣???棰?锛?缃?涓?杩??扮??????涔?璇峰????杩???棰?锛??懼伐浣?蹇?椤昏?界???杩?浜?绠?????棰???浠g??锛?锛?

绛?锛?listFiles?規??ュ??涓?涓?FileFilter瀵矽薄锛?杩?涓?FileFilter瀵矽薄灏辨??杩?????绛??ュ?矽薄锛?涓?????浜烘??渚?涓?????FileFilter瀹??幫??蟲??渚?浜?涓?????杩?婊ょ???ャ??

import?java.io.File;

import?java.io.FileInputStream;

import?java.io.FileOutputStream;

import?java.io.FilenameFilter;

import?java.io.IOException;

import?java.io.InputStream;

import?java.io.OutputStream;

public?class?Jad2Java?{

public?static?void?main(String[]?args)?throws?Exception?{

File?srcDir?=?new?File("java");

if(!(srcDir.exists()?&&?srcDir.isDirectory()))

throw?new?Exception("??褰?涓?瀛???);

File[]?files?=?srcDir.listFiles(

new?FilenameFilter(){

public?boolean?accept(File?dir,?String?name)?{

return?name.endsWith(".java");

}

}

);

System.out.println(files.length);

File?destDir?=?new?File("jad");

if(!destDir.exists())?destDir.mkdir();

for(File?f?:files){

FileInputStream??fis?=?new?FileInputStream(f);

String?destFileName?=?f.getName().replaceAll("\\.java$",?".jad");

FileOutputStream?fos?=?new?FileOutputStream(new?File(destDir,destFileName));

copy(fis,fos);

fis.close();

fos.close();

}

}

private?static?void?copy(InputStream?ips,OutputStream?ops)?throws?Exception{

int?len?=?0;

byte[]?buf?=?new?byte[1024];

while((len?=?ips.read(buf))?!=?-1){

ops.write(buf,0,len);

}

}

}

?辨??棰??葷??????沖??绛??ユā寮???瑙f??锛?

1.

class?jad2java{

1.?寰??版??涓???褰?涓?????????java??浠堕????

1.1?寰??扮??褰??File?srcDir?=?new?File("d:\\java");

1.2?寰??扮??褰?涓???????java??浠訛?File[]?files?=?srcDir.listFiles(new?MyFileFilter());

1.3????沖???java????浠訛??class?MyFileFilter?implememyts?FileFilter{

public?boolean?accept(File?pathname){

return?pathname.getName().endsWith(".java")

}

}

2.灏?姣?涓???浠跺??跺?闆???涓?涓???褰?锛?骞舵?規?╁???

2.1?寰??扮??????褰?锛?濡?????????褰?涓?瀛????????寤轟?

2.2??規??婧???浠跺??寰??扮??????浠跺??锛?娉ㄦ??瑕??ㄦ?e??琛ㄨ揪寮?锛?娉ㄦ??.??杞?涔???

2.3??規??琛ㄧず??褰???File????????浠跺????瀛?绗?覆锛?寰??拌〃绀虹??????浠剁??File??

//瑕??ㄧ‖??涓???纭??闆??寤哄?轟?涓???浠訛???瑕??ラ????浠跺??????浠剁????褰????

2.4?灏?婧???浠剁??娴??瘋?????????浠舵?锛??瘋??規???绔???涓轟?涓??規?锛??規??????伴???ㄦ?借薄娴???褰㈠???

//?規??ュ???????扮被??灏介???㈠???剁被锛?瓒??借薄瓒?濂斤?杩??烽??搴??㈡?村?藉箍??

}

????listFiles?規????ㄧ??绛??ユā寮?瀹??闆????

File[]?listFiles(FileFilter?filter){

File[]?files?=?listFiles();

//Arraylist?acceptedFilesList?=?new?ArrayList();

File[]?acceptedFiles?=?new?File[files.length];

int?pos?=?0;

for(File?file:?files){

boolean?accepted?=?filter.accept(file);

if(accepted){

//acceptedFilesList.add(file);

acceptedFiles[pos++]?=?file;

}

}

Arrays.copyOf(acceptedFiles,pos);

//return?(File[])accpetedFilesList.toArray();

}

1??缂???涓?涓?????瀛?绗?覆???芥?幫?杈??ヤ負涓?涓?瀛?绗?覆??瀛????幫?杈??轟負??瀛?????????瀛?绗?覆锛?浣?瑕?淇?璇?姹?瀛?涓?琚???????涓?锛?濡?????ABC??锛?4锛?搴?璇ユ????????AB??锛?杈??モ????ABC姹?DEF??锛?6锛?搴?璇ヨ??衡????ABC??锛???涓???????ABC+姹?????涓?????

绛?锛?

棣???瑕?浜?瑙d腑??瀛?绗???澶?绉?缂???????绉?缂??????瑰???

??????璁?涓鴻???????瀛????般??

public?static?void?main(String[]?args)?throws?Exception{

String?str?=?"??a?變腑??abc???變???ef';

String?str?=?"??ABC姹?";

int?num?=?trimGBK(str.getBytes("GBK"),5);

System.out.println(str.substring(0,num)?);

}

public?static?int??trimGBK(byte[]?buf,int?n){

int?num?=?0;

boolean?bChineseFirstHalf?=?false;

for(int?i=0;i<n;i++)

{

if(buf[i]<0?&&?!bChineseFirstHalf){

bChineseFirstHalf?=?true;

}else{

num++;

bChineseFirstHalf?=?false;

}

}

return?num;

}

1????涓?涓?瀛?绗?覆锛??朵腑????涓???瀛?绗????辨??瀛?绗????闆??瀛?绗??璇風?璁″?????闆?哄??涓?瀛?绗???涓??般??

绛?锛?????锛??跺??????涓???瀛?绗????辨??瀛?绗????闆??瀛?绗????ユ???洪????劇?????懼脊??

String?content?=???涓???adf??111??bb?茬??zz?ㄨ?測??;

HashMap?map?=?new?HashMap();

for(int?i=0;i<content.length;i++)

{

char?c?=?content.charAt(i);

Integer?num?=?map.get(c);

if(num?==?null)

num?=?1;

else

num?=?num?+?1;

map.put(c,num);

}?

for(Map.EntrySet?entry?:?map)

{

system.out.println(entry.getkey()?+???:???+?entry.getValue());

}

浼拌?℃??褰????㈣?????d釜瀛???琛ㄨ堪涓?娓?妤?锛???棰?寰????芥??锛?

濡???涓?涓插??绗??"aaaabbc涓???512"瑕?????缁?璁¤?辨??瀛?绗????伴??锛?涓???瀛?绗????伴??锛????闆??瀛?绗????伴??锛???璁懼??绗?腑娌℃??涓???瀛?绗????辨??瀛?绗????闆??瀛?绗??澶????朵??規??瀛?绗???

int?engishCount;

int?chineseCount;

int?digitCount;

for(int?i=0;i<str.length;i++)

{

char?ch?=?str.charAt(i);

if(ch>=??0???&&?ch<=??9??)

{

digitCount++

}

else?if((ch>=??a???&&?ch<=??z??)?||?(ch>=??A???&&?ch<=??Z??))

{

engishCount++;

}

else

{

chineseCount++;

}

}

System.out.println(??????????;

1??璇存????娲諱腑???扮??浜?????锛???ava瀹??頒?????

杩???缁???璁捐?℃ā寮???

????寰?澶?涓?(??璁?0涓?涓?)?版??瑕?淇?瀛?璧鋒?ワ?浠ュ??杩???瑕?浠?淇?瀛???杩?浜??版??涓?妫?绱㈡???????ㄦ??涓??版??锛?锛????寵?村?轟???????濂藉?锛?璇ユ??涔?璇村????e氨??璇村??浜虹??缂虹?癸?锛???濡?瀛??ㄦ?扮?涓?锛??d?锛?纰闆閥瑕??劇???闆??浣?浜?99999?d釜?版?癸??f?ユ?劇????搴??寰??????涓鴻?浠?绗?1涓?渚?娆″?????锛????烘?ュ??杩?琛?姣?杈???骞寵 浜?????锛???寤哄鈎琛′???????瑕?????搴?锛???浠?杩???灏變?浣?????浜?锛???浠ュ?濂藉?拌В?寵?涓???棰?锛?浣?浜???????????锛???搴?锛?涓?搴?锛???搴?锛?????瑕?姣??扮?浣?寰?澶?锛?????濡?涓??撅?

浠g??濡?涓?锛?

package?com.huawei.interview;

public?class?Node?{

public?int?value;

public?Node?left;

public?Node?right;

public?void?store(int?value)

{

if(value<this.value)

{

if(left?==?null)

{

left?=?new?Node();

left.value=value;

}

else

{

left.store(value);

}

}

else?if(value>this.value)

{

if(right?==?null)

{

right?=?new?Node();

right.value=value;

}

else

{

right.store(value);

}

}

}

public?boolean?find(int?value)

{

System.out.println("happen?"?+?this.value);

if(value?==?this.value)

{

return?true;

}

else?if(value>this.value)

{

if(right?==?null)?return?false;

return?right.find(value);

}else

{

if(left?==?null)?return?false;

return?left.find(value);

}

}

public??void?preList()

{

System.out.print(this.value?+?",");

if(left!=null)?left.preList();

if(right!=null)?right.preList();

}

public?void?middleList()

{

if(left!=null)?left.preList();

System.out.print(this.value?+?",");

if(right!=null)?right.preList();

}

public?void?afterList()

{

if(left!=null)?left.preList();

if(right!=null)?right.preList();

System.out.print(this.value?+?",");

}

public?static?void?main(String?[]?args)

{

int?[]?data?=?new?int[20];

for(int?i=0;i<data.length;i++)

{

data[i]?=?(int)(Math.random()*100)?+?1;

System.out.print(data[i]?+?",");

}

System.out.println();

Node?root?=?new?Node();

root.value?=?data[0];

for(int?i=1;i<data.length;i++)

{

root.store(data[i]);

}

root.find(data[19]);

root.preList();

System.out.println();

root.middleList();

System.out.println();

root.afterList();

}

}

-----------------??涓?娆′複?哄????浠g??---------------------------

import?java.util.Arrays;

import?java.util.Iterator;

public?class?Node?{

private?Node?left;

private?Node?right;

private?int?value;

//private?int?num;

public?Node(int?value){

this.value?=?value;

}

public?void?add(int?value){

if(value?>?this.value)

{

if(right?!=?null)

right.add(value);

else

{

Node?node?=?new?Node(value);

right?=?node;

}

}

else{

if(left?!=?null)

left.add(value);

else

{

Node?node?=?new?Node(value);

left?=?node;

}

}

}

public?boolean?find(int?value){

if(value?==?this.value)?return?true;

else?if(value?>?this.value){

if(right?==?null)?return?false;

else?return?right.find(value);

}else{

if(left?==?null)?return?false;

else?return?left.find(value);

}

}

public?void?display(){

System.out.println(value);

if(left?!=?null)?left.display();

if(right?!=?null)?right.display();

}

public?static?void?main(String[]?args){

int[]?values?=?new?int[8];

for(int?i=0;i<8;i++){

int?num?=?(int)(Math.random()?*?15);

//System.out.println(num);

//if(Arrays.binarySearch(values,?num)<0)

if(!contains(values,num))

values[i]?=?num;

else

i--;

}

System.out.println(Arrays.toString(values));

Node?root??=?new?Node(values[0]);

for(int?i=1;i<values.length;i++){

root.add(values[i]);

}

System.out.println(root.find(13));

root.display();

}

public?static?boolean?contains(int?[]?arr,?int?value){

int?i?=?0;

for(;i<arr.length;i++){

if(arr[i]?==?value)?return?true;

}

return?false;

}

}

1??浠?绫諱技濡?涓?????????浠朵腑璇誨???烘??????濮???锛?骞舵???闆?洪??澶???濮???????澶???娆℃?幫?骞舵????澶?娆℃?版??搴?锛?

1,寮?涓?,28

2,????,35

3,寮?涓?,28

4,??浜?,35

5,寮?涓?,28

6,????,35

7,璧靛??,28

8,?頒?,35

绋?搴?浠g??濡?涓?锛?绛?棰?瑕???寰??ㄤ漢??浣?????娆???????ㄨ?ュ???革??㈣????灏辨?????ュソ璇ュ???哥??缃???锛?濡????ヤ??幫??闆?洪??涔?????浠ョ????杩?瑕???涓?瀹??版??璺???娉ㄩ??锛?锛?

package?com.huawei.interview;

import?java.io.BufferedReader;

import?java.io.IOException;

import?java.io.InputStream;

import?java.io.InputStreamReader;

import?java.util.Comparator;

import?java.util.HashMap;

import?java.util.Iterator;

import?java.util.Map;

import?java.util.TreeSet;

public?class?GetNameTest?{

public?static?void?main(String[]?args)?{

//?TODO?Auto-generated?method?stub

//InputStream?ips?=?GetNameTest.class.getResourceAsStream("/com/huawei/interview/info.txt");

//?ㄤ?涓?琛?娉ㄩ????浠g????涓?涓?琛???浠g???藉??浠ワ???涓?nfo.txt涓?GetNameTest绫誨?ㄥ??涓???涓??????浠ワ???浠ョ?ㄤ??㈢???稿?矽礬寰?褰㈠?

Map?results?=?new?HashMap();

InputStream?ips?=?GetNameTest.class.getResourceAsStream("info.txt");

BufferedReader?in?=?new?BufferedReader(new?InputStreamReader(ips));

String?line?=?null;

try?{

while((line=in.readLine())!=null)

{

dealLine(line,results);

}

sortResults(results);

}?catch?(IOException?e)?{

//?TODO?Auto-generated?catch?block

e.printStackTrace();

}

}

static?class?User

{

public??String?name;

public?Integer?value;

public?User(String?name,Integer?value)

{

this.name?=?name;

this.value?=?value;

}

@Override

public?boolean?equals(Object?obj)?{

//?TODO?Auto-generated?method?stub

//涓??㈢??浠g??娌℃???ц?锛?璇存??寰?treeset涓?澧????版???訛?涓?浼?浣跨?ㄥ??quals?規???

boolean?result?=?super.equals(obj);

System.out.println(result);

return?result;

}

}

private?static?void?sortResults(Map?results)?{

//?TODO?Auto-generated?method?stub

TreeSet?sortedResults?=?new?TreeSet(

new?Comparator(){

public?int?compare(Object?o1,?Object?o2)?{

//?TODO?Auto-generated?method?stub

User?user1?=?(User)o1;

User?user2?=?(User)o2;

//return?user1.value-user2.value;

//return?user1.value<user2.value?-1:user1.value==user2.value?0:1;

if(user1.value<user2.value)

{

return?-1;

}else?if(user1.value>user2.value)

{

return?1;

}else

{

return?user1.name.compareTo(user2.name);

}

}

}

);

Iterator?iterator?=?results.keySet().iterator();

while(iterator.hasNext())

{

String?name?=?(String)iterator.next();

Integer?value?=?(Integer)results.get(name);

if(value?>?1)

{

sortedResults.add(new?User(name,value));

}

}

printResults(sortedResults);

}

private?static?void?printResults(TreeSet?sortedResults)?

{

Iterator?iterator??=?sortedResults.iterator();

while(iterator.hasNext())

{

User?user?=?(User)iterator.next();

System.out.println(user.name?+?":"?+?user.value);

}

}

public?static?void?dealLine(String?line,Map?map)

{

if(!"".equals(line.trim()))

{

String?[]?results?=?line.split(",");

if(results.length?==?3)

{

String?name?=?results[1];

Integer?value?=?(Integer)map.get(name);

if(value?==?null)?value?=?0;

map.put(name,value?+?1);

}

}

}

}

48????涓?涓?Singleton?烘?ャ??

绗?涓?绉?锛?楗辨?妯″?

public?class?SingleTon?{

private?SingleTon(){

}

//瀹?渚????懼?ㄩ????浠g??????????楂?绋?搴????ц?????锛?浣?涔????芥?村???ㄧ┖??

private?final?static?SingleTon?instance?=?new?SingleTon();

public?static?SingleTon?getInstance(){

return?instance;

}

}

绗?浜?绉?锛?楗ユ?妯″?

public?class?SingleTon?{

private?SingleTon(){}

private?static?instance?=?null;//new?SingleTon();

public?static?synchronized?SingleTon?getInstance(){

if(instance?==?null)

instance?=?new?SingleTon();

return?instance;

}

}

绗?涓?绉?锛??ㄦ??涓?

public?enum?SingleTon{

ONE;

}

绗?涓?锛??村??????搴?????ㄤ?涔????電?ㄥ??渚?锛?

public?class?SequenceGenerator{

//涓??㈡??璇ョ被??韬???涓??″???戒唬??

private?int?count?=?0;

public?synchronized?int?getSequence(){

++count;

}

//涓??㈡????璇ョ被??????渚???浠g??

private?SequenceGenerator(){}

private?final?static?instance?=?new?SequenceGenerator();

public?static?SingleTon?getInstance(){

return?instance;

}

}

绗???锛?

public?class?MemoryDao

{

????private?HashMap?map?=?new?HashMap();

????

???public?void?add(Student?stu1){?

????map.put(SequenceGenerator.getInstance().getSequence(),stu1);

????}

???

???//??MemoryDao??????渚??

??}

Singleton妯″?涓昏?浣??ㄦ??淇?璇???ava搴??ㄧ?搴?涓?锛?涓?涓?绫?lass????涓?涓?瀹?渚?瀛??ㄣ???

涓???Singleton妯″???甯告????绉?绉?褰㈠?:?

绗?涓?绉?褰㈠?:?瀹?涔?涓?涓?绫夥?瀹????????芥?頒負private??锛?瀹???涓?涓?static??private??璇ョ被????锛??ㄧ被??濮????跺??渚?璇?锛???杩?涓?涓?public??getInstance?規??峰??瀵瑰????寮???缁ц??璋??ㄥ?朵腑???規????

public?class?Singleton?{?

private?Singleton(){}?

????????//?ㄨ??宸卞???ㄥ??涔???宸變?涓?瀹?渚?锛???涓???寰?濂???锛??

????????//娉ㄦ??杩???private???渚????ㄨ????

????????private?static?Singleton?instance?=?new?Singleton();?

????????//杩?????渚?浜?涓?涓?渚?澶??ㄨ?塊????class???????規?锛???浠ョ?存?ヨ?塊???????

????????public?static?Singleton?getInstance()?{?

????????????return?instance;??????

????????}?

???}?

???绗?浜?绉?褰㈠?:?

public?class?Singleton?{?

????private?static?Singleton?instance?=?null;?

????public?static?synchronized?Singleton?getInstance()?{?

????//杩?涓??規?姣?涓??㈡?????矽?锛?涓??ㄦ??娆¢?借?琛?????瀵矽薄锛?????绗?涓?娆°??????????

????//浣跨?ㄦ?剁????瀹?渚?锛???楂?浜?????锛??

????if?(instance==null)?

????????instance锛?new?Singleton();?

return?instance;?

}?

}?

?朵?褰㈠?:?

瀹?涔?涓?涓?绫夥?瀹????????芥?頒負private??锛??????規?涓?tatic?????

涓???璁や負绗?涓?绉?褰㈠?瑕??村??瀹??ㄤ??

7????褰?绠?娉?棰?1

涓?涓??存?幫?澶т?0锛?涓??ㄥ驚???????闆????锛?????锛?2n锛?4n锛?8n??椤哄???澧?锛?褰??煎ぇ浜?5000?訛????兼???ф??瀹?椤哄?杈??烘?ャ??

渚?锛?n=1237

??杈??轟負锛?

1237锛?

2474锛?

4948锛?

9896锛?

9896锛?

4948锛?

2474锛?

1237锛?

??绀猴???绋?搴??訛????磋阿????澧??瑰???浠g??锛???濂介??澧???浠ュ??锛???澧????????????ㄥ????

public?static?void?doubleNum(int?n)

{

System.out.println(n);

if(n<=5000)

doubleNum(n*2);

System.out.println(n);

}

7????褰?绠?娉?棰?2

绗?1涓?浜?0锛?绗?2涓?姣?绗?1涓?浜哄ぇ2宀?锛?渚?娆¢?????璇風?ㄩ??褰??瑰?璁$???虹??8涓?浜哄?澶э?

package?cn.itcast;

import?java.util.Date;

public?class?A1?{

public?static?void?main(String?[]?args)

{

System.out.println(computeAge(8));

}

public?static?int?computeAge(int?n)

{

if(n==1)?return?10;

return?computeAge(n-1)?+?2;

}

}

public?static?void?toBinary(int?n,StringBuffer?result)

{

if(n/2?!=?0)

toBinary(n/2,result);

result.append(n%2);

}

94????搴??芥??????绉??規?锛?璇峰??涓俱????AVA瀹??頒?涓?蹇?????搴????

???浜哄????绌惰???娉℃??搴??????╂??搴???蹇?????搴?锛?涓??㈡??蹇?????搴???浠g??锛?

public?class?QuickSort?{

public?void?quickSort(String[]?strDate,int?left,int?right){

String?middle,tempDate;

int?i,j;

i=left;

j=right;

middle=strDate[(i+j)/2];

do{

while(strDate[i].compareTo(middle)<0&&?i<right)

i++;?//?懼?哄乏杈規??涓??村?煎ぇ???? while(strDate[j].compareTo(middle)>0&&?j>left)

j--;?//?懼?哄?寵竟姣?涓??村?煎????? if(i<=j){?//灏?宸?竟澶х???闆???寵竟灏????拌?琛??挎?⒙?

tempDate=strDate[i];

strDate[i]=strDate[j];

strDate[j]=tempDate;

i++;

j--;

}

}while(i<=j);?//褰?涓よ??浜ら???跺??姝?

if(i<right){

quickSort(strDate,i,right);//浠?

}

if(j>left){

quickSort(strDate,left,j);

}

}

public?static?void?main(String[]?args){

String[]?strVoid=new?String[]{"11","66","22","0","55","22","0","32"};

QuickSort?sort=new?QuickSort();

sort.quickSort(strVoid,0,strVoid.length-1);

for(int?i=0;i<strVoid.length;i++){

System.out.println(strVoid[i]+"?");

}

}

}

7?????扮?a[n]锛???ava浠g??灏??扮???绱?椤哄?棰???

//?ㄤ??㈢??涔???浠?

//for(int?i=0,int?j=a.length-1;i<j;i++,j--)?????????浜??for(int?i=0;i<a.length/2;i++)???

import?java.util.Arrays;

public?class?SwapDemo{

public?static?void?main(String[]?args){

int?[]?a?=?new?int[]{

(int)(Math.random()?*?1000),

(int)(Math.random()?*?1000),

(int)(Math.random()?*?1000),

(int)(Math.random()?*?1000),

(int)(Math.random()?*?1000)

};

System.out.println(a);

System.out.println(Arrays.toString(a));

swap(a);

System.out.println(Arrays.toString(a));

}

public?static?void?swap(int?a[]){

int?len?=?a.length;

for(int?i=0;i<len/2;i++){

int?tmp?=?a[i];

a[i]?=?a[len-1-i];

a[len-1-i]?=?tmp;

}

}

}

2锛???棰?杞?????挎??浼??闆??????棰?杞??㈡??涓??戒?缁???褰㈠?濡?锛?锛?锟?011锛?锛?>锛?涓????朵??句????達?杈??恒??

?婚?剁??浠g??锛?

return?sb.reverse().toString().replaceAll("???句槳浠?]","??).replaceAll("??涓?","涓?").replaceAll("????","??").replaceAll("??","??);

public?class?RenMingBi?{

private?static?final?char[]?data?=?new?char[]{

'??,'澹?,'璐?,'??','??','浼?','??','??','??','??'

};?

private?static?final?char[]?units?=?new?char[]{

'??','??,'浣?,'浠?','涓?','??,'浣?,'浠?','浜?

};

public?static?void?main(String[]?args)?{

//?TODO?Auto-generated?method?stub

System.out.println(

convert(135689123));

}

public?static?String?convert(int?money)

{

StringBuffer?sbf?=?new?StringBuffer();

int?unit?=?0;

while(money!=0)

{

sbf.insert(0,units[unit++]);

int?number?=?money%10;

sbf.insert(0,?data[number]);

money?/=?10;

}

return?sbf.toString();

}

}

5.?html&JavaScript&ajax?ㄥ??

1.??ゆ??绗?浜?涓??ユ??姣?绗?涓?涓??ユ??澶?

濡?浣??ㄨ?????ゆ???ㄦ?瘋??ョ????瀛?绗?覆??涓??㈢???堕?存?煎?2004-11-21?蹇?椤昏?淇?璇??ㄦ?風??杈??ユ??姝ゆ?煎?锛?骞朵????堕?達?姣?濡?璇存??浠戒?澶т?12绛?绛?锛????????瑕??ㄦ?瘋??ヤ袱涓?锛?骞朵???涓?涓?瑕?姣???涓?涓???锛?????璁哥??AVASCRIPT锛?璇瘋???甯??╀?绛?锛?,?

//杩??????ㄦ?e??琛ㄨ揪寮??ゆ???????ゆ??涓?涓??煎?锛??跺????涓????????堕?村??娈靛??瀹?

<script?type="text/javascript">

window.onload?=?function()

{

//杩?涔?????涓轟?瀹???s浠g??涓?html浠g??????绂夥?褰???淇???s?訛?涓??藉獎??html浠g????

document.getElementById("frm1").onsubmit?=?

function(){

var?d1?=?this.d1.value;

var?d2?=?this.d2.value;

if(!verifyDate?(d1))?{alert("绗?涓?涓??ユ???煎?涓?瀵?);return?false;}

if(!verifyDate?(d2))?{alert("绗?浜?涓??ユ???煎?涓?瀵?);return?false;}

if(!compareDate(d1,d2))?{alert("绗?浜?涓??ユ??姣?绗?涓??ユ??灏?");return?false;}

};

}

function?compareDate(d1,d2)

{

var?arrayD1?=?d1.split("-");

var?date1?=?new?Date(arrayD1[0],arrayD1[1],arrayD1[2]);

var?arrayD2?=?d2.split("-");

var?date2?=?new?Date(arrayD2[0],arrayD2[1],arrayD2[2]);

if(date1?>?date2)?return?false;

return?true;

}?

function?verifyDate(d)

{

var?datePattern?=?/^\d{4}-(0?[1-9]|1[0-2])-(0?[1-9]|[1-2]\d|3[0-1])$/;

return?datePattern.test(d);

}

</script>

<form?id="frm1"?action="xxx.html">

<input?type="text"?name="d1"?/>

<input?type="text"?name="d2"?/>

<input?type="submit"/>

</form>

1.???able?劇ずn?¤?闆?锛?姣?3琛????娆¢??詫???锛?2锛?3?ㄧ孩?插??浣?锛?4锛?5锛?6?ㄧ豢?插??浣?锛?7锛?8锛?9?ㄧ孩棰??插??浣???

<body>

<table?id="tbl">

<tr><td>1</td></tr>

<tr><td>2</td></tr>

<tr><td>3</td></tr>

<tr><td>4</td></tr>

<tr><td>5</td></tr>

<tr><td>6</td></tr>

<tr><td>7</td></tr>

<tr><td>8</td></tr>

<tr><td>9</td></tr>

<tr><td>10</td></tr>

</table>

</body>

<script?type="text/javascript">

window.慰nl慰ad=function()

{

var?tbl?=?document.getElementById("tbl");

rows?=?tbl.getElementsByTagName("tr");

for(i=0;i<rows.length;i++)

{

var?j?=?parseInt(i/3);

if(j%2==0)?rows[i].style.backgroundColor="#f00";

else??rows[i].style.backgroundColor="#0f0";

}

}

</script>

1??HTML????form???浜や???濡?浣?楠?璇??闆?兼????妗?????瀹瑰?ㄩ?ㄤ負?闆??????????璇???绀虹?ㄦ?峰苟缁?姝㈡??浜??

<form?慰nsubmit=??return?chkForm(this)??>

<input?type="text"?name="d1"/>

<input?type="submit"/>

</form>

<script?type=??text/javascript???/>

function?chkForm(this)

{?

var?value?=?thist.d1.value;

var?len?=?value.length;

for(var?i=0;i<len;i++)

{

if(value.charAt(i)>"9"?||?value.charAt(i)<"0")

{

alert("???????闆??瀛?绗?);?return?false;

}

}

return?true;

}

</script>

2??璇峰???虹?ㄤ??¢??HTML????妗?涓?杈??ョ????瀹瑰?ㄩ?ㄤ負?闆????javascript浠g??

<input?type="text"?id="d1"?慰nblur="?chkNumber?(this)"/>

<script?type=??text/javascript???/>

function?chkNumber(eleText)?

{?

var?value?=?eleText.value;

var?len?=?value.length;

for(var?i=0;i<len;i++)

{

if(value.charAt(i)>"9"?||?value.charAt(i)<"0")

{

alert("???????闆??瀛?绗?);

eleText.focus();

break;?

}

}

}

</script>

?や???瀹?浠g??锛?杩?搴?璇ュ?ㄧ?椤典????哄??楠?姝ラ?ゅ???ㄤ唬??涓????ュ???版??璺?锛?璁╅?㈣??瀹?涓???灏辨???戒??????懼??妫??ヤ???缁?????

1??璇磋?翠??ㄨ??d?ajax??????妗??訛?璇磋?村??浠????哄??

绛?:?繪??瀵?eb.xml????瑙?锛???jsp????缂?杈???Servlet??

??瀵?浣??╃????瀛??????碉???澶?omcat浣跨?ㄧ??jvm????瀛?

6.?Java?web?ㄥ??

1??Tomcat??浼???缁?楠?

绛?:?繪??瀵?eb.xml????瑙?锛???jsp????缂?杈???Servlet??

??瀵?浣??╃????瀛??????碉???澶?omcat浣跨?ㄧ??jvm????瀛?

1??HTTP璇鋒???GET涓?POST?瑰????哄??

绛?:servlet????濂界????瀛?????瀹?涔?锛???????杞藉??瀹?渚???????濮?????澶???璇鋒?浠ュ?????$?????杩?涓???瀛?????avax.servlet.Servlet?ュ?g??init,service??destroy?規?琛ㄨ揪??

62??瑙i??涓?涓?浠?涔???servlet;

绛?:servlet????濂界????瀛?????瀹?涔?锛???????杞藉??瀹?渚???????濮?????澶???璇鋒?浠ュ?????$?????杩?涓???瀛?????avax.servlet.Servlet?ュ?g??init,service??destroy?規?琛ㄨ揪??

1??璇翠?璇?ervlet?????藉?ㄦ????

绛?:servlet????濂界????瀛?????瀹?涔?锛???????杞藉??瀹?渚???????濮?????澶???璇鋒?浠ュ?????$?????杩?涓???瀛?????avax.servlet.Servlet?ュ?g??init,service??destroy?規?琛ㄨ揪??

Servlet琚????″?ㄥ??渚?????锛?瀹瑰?ㄨ?琛???nit?規?锛?璇鋒??拌揪?惰?琛???ervice?規?锛?service?規????ㄦ淳?h?琛?涓?璇鋒?瀵瑰???doXXX?規?锛?doGet锛?doPost锛?绛?锛?褰????″?ㄥ?沖??灏?瀹?渚???姣????跺??璋??ㄥ??estroy?規???

web瀹瑰?ㄥ??杞?ervlet锛????藉?ㄦ??寮?濮?????杩?璋???ervlet??init()?規?杩?琛?servlet????濮???????杩?璋???ervice()?規?瀹??幫??規??璇鋒???涓???璋??ㄤ?????do***()?規???缁??????★?web瀹瑰?ㄨ???ervlet??destroy()?規????

4??Servlet???烘???舵???

public?class?ServletName?extends?HttpServlet?{?

public?void?doPost(HttpServletRequest?request,?HttpServletResponse?response)?throws?

ServletException,?IOException?{?

}?

public?void?doGet(HttpServletRequest?request,?HttpServletResponse?response)?throws?

ServletException,?IOException?{?

}?

}?

3??SERVLET?API涓?forward()?涓?redirect()???哄??锛??

绛?:????浠???瀹瑰?ㄤ腑?у?舵????杞???锛??ㄥ?㈡?風??娴?瑙??ㄥ?闆????涓?涓?浼??劇ず?鴻漿???????闆??锛?????????瀹??ㄧ??璺寵漿锛?娴?瑙??ㄥ?浼?寰??拌煩杞????闆??锛?骞堕???闆????璇鋒??炬?ャ??杩??鳳?浠?娴?瑙??ㄧ???闆????涓???浠ョ???拌煩杞??????炬?ュ?闆??????浠ワ??????村??楂???锛??ㄥ??????浠ユ弧瓒抽??瑕??訛?灏介??浣跨??orward()?規?锛?骞朵?锛?杩??蜂????╀?????瀹??????炬?ャ???ㄦ??浜????典?锛?姣?濡?锛???瑕?璺寵漿?頒?涓??跺?????″?ㄤ???璧?婧?锛???蹇?椤諱嬌??

sendRedirect()?規????

60??浠?涔????典?璋???oGet()??doPost()锛??

Jsp椤甸??腑??FORM??绛鵑????method灞??т負get?惰???oGet()锛?涓?ost?惰???oPost()???

66??Request瀵矽薄??涓昏??規?锛??

setAttribute(String?name,Object)锛?璁劇疆??瀛?涓?ame??request?????闆?悸?

getAttribute(String?name)锛?杩?????ame??瀹???灞??у?悸?

getAttributeNames()锛?杩???request瀵矽薄????灞??х????瀛?????锛?缁?????涓?涓???涓劇??瀹?渚??

getCookies()锛?杩???瀹㈡?風????????Cookie瀵矽薄锛?缁?????涓?涓?Cookie?扮??

getCharacterEncoding()锛?杩???璇鋒?涓???瀛?绗?????瑰??

getContentLength()锛?杩???璇鋒???Body???垮害?

getHeader(String?name)锛??峰?HTTP??璁?瀹?涔?????浠跺ご淇℃???

getHeaders(String?name)锛?杩?????瀹???瀛???request?Header???????鹼?缁?????涓?涓???涓劇??瀹?渚??

getHeaderNames()锛?杩?????浠?equest?Header????瀛?锛?缁?????涓?涓???涓劇??瀹?渚??

getInputStream()锛?杩???璇鋒???杈??ユ?锛??ㄤ??峰?璇鋒?涓????版???

getMethod()锛??峰?瀹㈡?風???????″?ㄧ??浼????版?????規??

getParameter(String?name)锛??峰?瀹㈡?風??浼???缁????″?ㄧ??????name??瀹??????闆?悸?

getParameterNames()锛??峰?瀹㈡?風??浼???缁????″?ㄧ???????????扮????瀛?锛?缁?????涓?涓???涓劇??瀹?渚??

getParametervalues(String?name)锛??峰???name??瀹??????扮???????悸?

getProtocol()锛??峰??瀹㈡?風???????″?ㄧ??浼????版????渚???????璁???绉奧?

getQueryString()锛??峰??ヨ?㈠??绗?覆?

getRequestURI()锛??峰?????鴻?鋒?瀛?绗?覆??瀹㈡?風???闆???

getRemoteAddr()锛??峰??瀹㈡?風????IP?闆???

getRemoteHost()锛??峰??瀹㈡?風??????瀛??

getSession([Boolean?create])锛?杩?????璇鋒??稿??ession?

getServerName()锛??峰?????″?ㄧ????瀛??

getServletPath()锛??峰??瀹㈡?風????璇鋒?????????浠剁??璺?寰??

getServerPort()锛??峰?????″?ㄧ??绔??e?仿?

removeAttribute(String?name)锛????よ?鋒?涓???涓?涓?灞????

19??forward???redirect???哄???

forward?????″?ㄨ?鋒?璧?婧?锛????″?ㄧ?存?ヨ?塊???????闆????URL锛????d釜URL????搴???瀹矽?誨??杩??ワ??跺????杩?浜???瀹瑰????缁?娴?瑙????娴?瑙??ㄦ?規??涓??ラ?????″?ㄥ????????瀹規??浠????挎?ョ??锛???浠ュ?????闆????涓?杩??????ョ???闆?????

???redirect灏辨?????$???規???昏?,????涓?涓??舵????,??璇?娴?瑙??ㄩ???闆?昏?鋒??d釜?闆??锛?涓????ヨ?存?瑙??ㄤ??ㄥ????璇鋒??????????伴???拌?鋒?锛???浠?ession,request???伴?藉??浠ヨ?峰????

4??request.getAttribute()????request.getParameter()???浣??哄???

1.?jsp????浜???缃?瀵矽薄?浣??ㄥ??????浠?涔?????????浠?涔??規?锛??

绛?:JSP?辨??浠ヤ?9涓???缃???瀵矽薄锛??

request??ㄦ?風??璇鋒?锛?姝よ?鋒?浼??????ヨ??GET/POST璇鋒??????奧?

response?缃?椤典????ㄦ?風??????搴??

pageContext?缃?椤電??灞??ф???ㄨ???绠$???

session?涓?璇鋒????崇??浼?璇????

application?servlet?姝e?ㄦ?ц?????瀹孤?

out??ㄦ?ヤ?????搴???杈??郝?

config?servlet?????堕?ㄤ歡?

page?JSP缃?椤墊??韬??

exception???瀵歸??璇?缃?椤碉?????????渚?澶??

request琛ㄧずHttpServletRequest瀵矽薄??瀹?????浜????蟲?瑙??ㄨ?鋒???淇℃??锛?骞朵???渚?浜???涓??ㄤ??峰??cookie,?header,???session?版???????ㄧ???規????

???response琛ㄧずHttpServletResponse瀵矽薄锛?骞舵??渚?浜???涓??ㄤ?璁劇疆?????娴?瑙??ㄧ????搴????規?锛?濡?cookies,澶翠俊??绛?锛??

???out瀵矽薄??javax.jsp.JspWriter??涓?涓?瀹?渚?锛?骞舵??渚?浜???涓??規?浣誇??界?ㄤ???娴?瑙??ㄥ????杈??虹??????

???pageContext琛ㄧず涓?涓?javax.servlet.jsp.PageContext瀵矽薄??瀹????ㄤ??逛究瀛?????绉????寸????瀛?绌洪?淬??servlet?稿?崇??瀵矽薄??API锛?骞朵???瑁?浜????ㄧ??servlet?稿?沖???界???規????

???session琛ㄧず涓?涓?璇鋒???javax.servlet.http.HttpSession瀵矽薄??Session??浠ュ??璐??ㄦ?風???舵??淇℃???

???applicaton?琛ㄧず涓?涓?javax.servle.ServletContext瀵矽薄??杩????╀??ユ?炬????ervlet寮?????servlet??澧???淇℃???

???config琛ㄧず涓?涓?javax.servlet.ServletConfig瀵矽薄??璇ュ?矽薄?ㄤ?瀛???servlet瀹?渚?????濮??????般???

???page琛ㄧず浠?璇ラ〉??駭????涓?涓?servlet瀹?渚??

2.?jsp????浜??ㄤ??浣??ㄥ??????浠?涔???

锛?杩?涓???棰?浼間?涓???瑕?锛?涓????戒負浣???姝ら?锛?

绛?:JSP?辨??浠ヤ?6绉??烘???ㄤ??

jsp:include锛??ㄩ〉?㈣?璇鋒????跺??寮??ヤ?涓???浠躲???

jsp:useBean锛?瀵繪?炬????瀹?渚???涓?涓?JavaBean???

jsp:setProperty锛?璁劇疆JavaBean??灞??с???

jsp:getProperty锛?杈??烘??涓?JavaBean??灞??с???

jsp:forward锛???璇鋒?杞??頒?涓??扮??椤甸?????

jsp:plugin锛??規??娴?瑙??ㄧ被??涓?ava??浠剁????OBJECT??EMBED??璁?

59??JSP??甯哥?ㄦ??浠ぢ?

isErrorPage(?????戒嬌??xception瀵矽薄)锛?isELIgnored(????拷?ヨ〃杈懼?)?

3.?JSP涓??ㄦ??INCLUDE涓?????INCLUDE???哄??锛??

绛?锛??ㄦ??INCLUDE??sp:include?ㄤ?瀹??奧?

<jsp:include?page=included.jsp?flush=true?/>瀹??繪??浼?妫??ユ??????浠朵腑??????锛??????ㄤ??????ㄦ??椤甸???骞朵???浠ュ甫???奧?????INCLUDE??nclude浼???瀹???瀹?涓?浼?妫??ユ??????浠剁??????锛????ㄤ?????????椤甸?⒙?<%@?include?file=included.htm?%>?

4??涓ょ?璺寵漿?瑰???????浠?涔????浠?涔??哄????

锛?涓??㈢????绛?涓ラ????璇?锛?搴?璇ユ???抽??forward??sendRedirect????哄??锛?姣?绔??洪???浜轟???涓?涓?????瀛??烘????浜猴????借〃杈捐?藉??骞朵?瑙?寰?寰?寮猴??ㄨ??涓?涓?瀹?绮懼??锛???涔??惰??韬?????????????藉???ㄤ?浜???棰?锛?涓?涓?瀹???姝e?浠???????琛ㄨ揪娓?妤?浜?锛?涓ユ?兼????涓??ヨ?詫?涓?浜?棰??????芥?規??灏辨??浜鴻?界??锛???浠ワ?绛?棰??惰????′富?????瑕?????宸辯?ラ????琛ㄨ揪娓?妤?灏卞?浜?锛???涓?瑕??繪?ㄦ?插??濮?棰??????蜂???涔???浠?涔?锛?涓?瑕?涓??蟲?崇?????ㄧ??棰?锛?

绛?锛???涓ょ?锛?????涓猴??

<jsp:include?page=included.jsp?flush=true>?

<jsp:forward?page=?nextpage.jsp/>?

????椤甸???浼?杞???include??????椤甸????????劇ず璇ラ〉??缁???锛?涓婚〉?㈣??????ョ??椤甸?????ц?瀹???杩?浼????ワ??稿?浜??芥?拌??ㄣ??骞朵???浠ュ甫????????瀹??ㄨ漿???伴〉???涓?浼??????ャ???稿?浜?go?to?璇??ャ??

63??椤甸?㈤?村?矽薄浼??????規??

request锛?session锛?application锛?cookie绛??

64??JSP??Servlet????浜??稿???瑰??涓????癸?浠?浠?涔??寸????绯繪??浠?涔?锛??

JSP??Servlet???????╁?锛???璐ㄤ???Servlet??绠????瑰?锛??村己璋?搴??ㄧ??澶?琛ㄨ〃杈俱??JSP缂?璇?????"绫?ervlet"??Servlet??JSP??涓昏???涓????瑰?ㄤ?锛?Servlet??搴??ㄩ?昏?????ava??浠朵腑锛?骞朵?瀹??ㄤ?琛ㄧず灞?涓???HTML????绂誨??ャ????JSP?????墊??Java??HTML??浠ョ?????涓?涓??╁???涓?jsp????浠躲??JSP渚ч??浜?瑙??撅?Servlet涓昏??ㄤ??у?堕?昏????

1??MVC????涓??ㄥ???芥???d??????ュ????濡?浣?瀹????

绛?:MVC??Model锛?View锛?Controller??绠?????Model?浠h〃????搴??ㄧ??涓??¢?昏?锛???杩?JavaBean锛?EJB缁?浠跺???幫?锛??View???搴??ㄧ??琛ㄧず?????SP椤甸??駭??锛?锛?Controller?????渚?搴??ㄧ??澶???杩?绋??у?訛?涓?????涓?涓?Servlet锛?锛???杩?杩?绉?璁捐?℃ā????搴??ㄩ?昏?锛?澶???杩?绋????劇ず?昏?????涓?????缁?浠跺???般??杩?浜?缁?浠跺??浠ヨ?琛?浜や??????ㄣ???

68????浠???eb搴??ㄥ???杩?绋?涓?缁?甯擱???拌??烘??绉?缂?????瀛?绗??濡?iso8859-1绛?锛?濡?浣?杈??轟?涓???绉?缂?????瀛?绗?覆锛??

?Public?String?translate?(String?str)?{?

???String?tempStr?=?"";?

???try?{?

?????tempStr?=?new?String(str.getBytes("ISO-8859-1"),?"GBK");?

?????tempStr?=?tempStr.trim();?

???}?

???catch?(Exception?e)?{?

?????System.err.println(e.getMessage());?

???}?

???return?tempStr;?

?}?

1锛??闆?ㄨ???涓??闆??锛?浠ラ???鳳???寮?锛??跺???????╁????????搴???搴?锛?????浜ら??灏卞?ㄥ???椤甸?㈡?劇ず??浠?涔???搴?锛?缁???涓猴???渚?reset

7.?瀹???椤圭??寮???

1????clipse涓?璋?璇??訛????鋒?ョ??涓?涓????????鹼?

?ㄨ??ョ????????????璁劇疆???癸??跺????涓?????锛??抽????debug?as-->Java?Application锛???寮?debug??瑙??撅?杩??跺??ariables绐??d腑??浠ョ???闆????褰??????箋??

濡?????灞??ㄥ????锛?涔???浠ュ?ㄥ??ㄥ????绐??d腑?ョ????

瑕??ラ??涓?涓??規?琚?璋??ㄧ???規?璋??ㄩ?撅???浠ュ?ㄦ?規???涓??ョ????

2??浣?浠????鎬嬌?ㄧ??浠g????缃?绠$??宸ュ?鋒??浠?涔?锛??

?や?璇翠互??浣跨??vs锛??闆?ㄦ?伴」??浣跨??vn浜?锛?杩?绠?瑕?璇翠?涓?浣跨?ㄧ??杩?绋?锛?濡????????斤?杩?璇磋?翠?搴???姒?蹇靛??濡?浣?浣跨?ㄩ??涔?绫葷??缁?????

3??浣?浠???椤圭???婚??棰?澶?灏?锛?澶?灏?浜哄???锛??誨?辮?變?澶?灏?涓???锛?

??宸村反杩??ㄧ?杩?绉?瑙?妯$??椤圭??锛???浠ヨ?存??4??5涓?浜恒??寮???浜?4??5涓???锛?璐圭?ㄥ????4??50涓?????姣?浜烘????涓や??跺?ュ?昏?$??锛?灏卞樊涓?澶?浜???

7.??版??搴??ㄥ??

1???ㄤ袱绉??瑰??規???ㄩ?ㄥ?蜂?楂??頒?锛?宸ヨ?浠?浣??伴?????烘??涓???宸ョ??淇℃????

employee:

?????eid,ename,salary,deptid;

?select?*?from?employee?order?by?deptid?desc,salary

2?????哄??涓??ㄩ?ㄤ腑宸ヨ?楂?浜????ㄩ?ㄧ??骞沖??宸ヨ?????宸ユ?闆???ㄩ?ㄥ?鳳?骞舵???ㄩ?ㄥ?鋒??搴?

??寤鴻〃锛?

???????mysql>?create?table?employee921(id?int?primary?key?auto_increment,name?varchar(5

0),salary?bigint,deptid?int);

???ュ??楠??版??锛?

mysql>?insert?into?employee921?values(null,'zs',1000,1),(null,'ls',1100,1),(null

,'ww',1100,1),(null,'zl',900,1)?,(null,'zl',1000,2),?(null,'zl',900,2)?,(null,'z

l',1000,2)?,?(null,'zl',1100,2);

缂???sql璇??ワ?

锛?锛?select?avg(salary)?from?employee921?group?by?deptid;

锛?锛?mysql>?select?employee921.id,employee921.name,employee921.salary,employee921.dep

tid?tid?from??employee921?where?salary?>?(select?avg(salary)?from?employee921?where??deptid?=?tid);

???????浣???涓?涓?璇??ワ?浠?渚?瀛??????浣跨?????roup?by涔???涓??戒嬌??here锛????戒嬌??aving锛???roup?by涔?????浠ヤ嬌??here锛??寵〃绀哄?矽?婊ゅ????缁?????缁?锛?锛?

mysql>?select?employee921.id,employee921.name,employee921.salary,employee921.dep

tid?tid?from??employee921?where?salary?>?(select?avg(salary)?from?employee921?group?by?deptid?having?deptid?=?tid);

锛?锛?select?count(*)?,tid?

from?(

select?employee921.id,employee921.name,employee921.salary,employee921.deptid?tid?

from?? employee921?

where?salary?>

? (select?avg(salary)?from?employee921?where??deptid?=?tid)

)?as?t?

group?by?tid?;

???涓?绉??瑰?锛??寵???ヨ??

select?a.ename,a.salary,a.deptid?

?from?emp?a,

????(select?deptd,avg(salary)?avgsal?from?emp?group?by?deptid?)?b?

?where?a.deptid=b.deptid?and?a.salary>b.avgsal;

1??瀛??ㄨ?绋?涓?瑙????ㄥ?椤昏?詫?缁?甯歌??㈣????

create?procedure?insert_Student?(_name?varchar(50),_age?int?,out?_id?int)

begin

insert?into?student?value(null,_name,_age);

select?max(stuId)?into?_id?from?student;

end;

call?insert_Student('wfz',23,@id);

select?@id;

mysql>?create?trigger?update_Student?BEFORE?update?on?student?FOR?EACH?ROW

->?select?*?from?student;

瑙????ㄤ???璁歌???缁???

create?trigger?update_Student?BEFORE?update?on?student?FOR?EACH?ROW??

insert?into??student?value(null,'zxx',28);

mysql??瑙????ㄧ????涓??藉?瑰???琛ㄨ?琛???浣?

create?trigger?update_Student?BEFORE?update?on?student?FOR?EACH?ROW??

delete?from?articles??where?id=8;

杩?涓?渚?瀛?涓???寰?濂斤???濂芥???ㄥ???や?涓??ㄦ?鋒?訛?椤哄甫???よ?ョ?ㄦ?風??????甯?瀛?

杩???瑕?娉ㄦ??浣跨??LD.id

瑙????ㄧ?ㄥ?杩???寰?澶???锛?姣?濡??″??缃???寮?蹇?缃???Facebook锛?浣???涓?涓??ュ?锛????ㄩ???ュソ??锛??跺??灏辨???ㄥ????ュ??跺??涓?涓???瑙???锛????????ヨ〃涓????ユ?$??????涓鴻Е???ㄦ????楂?????UCH娌℃???ㄨЕ????????????版??澶????藉???藉?浣???

瀛??ㄨ?绋???瀹?楠?姝ラ?わ?

mysql>?delimiter?|

mysql>?create?procedure?insertArticle_Procedure?(pTitle?varchar(50),pBid?int,out

?pId?int)

????->?begin

????->?insert?into?article1?value(null,pTitle,pBid);

????->?select?max(id)?into?pId?from?article1;

????->?end;

????->?|

Query?OK,?0?rows?affected?(0.05?sec)

mysql>?call?insertArticle_Procedure('浼??烘??瀹?,1,@pid);

????->?|

Query?OK,?0?rows?affected?(0.00?sec)

mysql>?delimiter?;

mysql>?select?@pid;

+------+

|?@pid?|

+------+

|?3????|

+------+

1?row?in?set?(0.00?sec)

mysql>?select?*?from?article1;

+----+--------------+------+

|?id?|?title????????|?bid??|

+----+--------------+------+

|?1??|?test?????????|?1????|

|?2??|?chuanzhiboke?|?1????|

|?3??|?浼??烘??瀹⒙?????|?1????|

+----+--------------+------+

3?rows?in?set?(0.00?sec)

瑙????ㄧ??瀹?楠?姝ラ?わ?

create?table?board1(id?int?primary?key?auto_increment,name?varchar(50),ar

ticleCount?int);

create?table?article1(id?int?primary?key?auto_increment,title?varchar(50)

,bid?int?references?board1(id));

delimiter?|

create?trigger?insertArticle_Trigger?after?insert?on?article1?for?each?ro

w?begin

????->?update?board1?set?articleCount=articleCount+1?where?id=?NEW.bid;

????->?end;

????->?|

delimiter?;

insert?into?board1?value?(null,'test',0);

insert?into?article1?value(null,'test',1);

杩???锛?姣????ヤ?涓?甯?瀛?锛??藉???灏????㈣〃涓?????????甯??堕?達?甯?瀛??繪?闆??娈佃?琛???姝ユ?存?幫??ㄨЕ???ㄥ??????灏卞?楂???涓?娆¤?捐?捐?¤??蜂?涓?妗?渚?锛???瑙????ㄦ?訛?瀵逛???????甯??堕?村???介??瑕???eclare?瑰?澹版??涓?涓?????锛?????????EW.posttime?ョ??????

1???版??搴?涓???寮???浠?涔??

绗?涓???寮?锛?1NF锛?锛?瀛?娈靛?鋒????瀛???涓??????????????崇郴???版??搴?绯葷??芥弧瓒崇??涓???寮?锛?

?版??搴?琛ㄤ腑??瀛?娈甸?芥????涓?灞??х??锛?涓?????????渚?濡?锛?濮???瀛?娈碉??朵腑??濮?????蹇?椤諱?涓轟?涓??翠?锛???娉??哄?????ㄥ????濮?锛????ㄥ??????锛?濡???瑕??哄???哄?????锛?蹇?椤昏?捐?℃??涓や釜??绔???瀛?娈點??

??绗?浜???寮?锛?2NF锛?锛?

绗?浜???寮?锛?2NF锛????ㄧ??涓???寮?锛?1NF锛????虹?涓?寤虹??璧鋒?ョ??锛??蟲弧瓒崇??浜???寮?锛?2NF锛?蹇?椤誨??婊¤凍绗?涓???寮?锛?1NF锛???

瑕?姹??版??搴?琛ㄤ腑??姣?涓?瀹?渚???琛?蹇?椤誨??浠ヨ???涓??闆?哄??????甯擱??瑕?涓鴻〃??涓?涓?涓???锛?浠ュ???ㄥ??涓?瀹?渚?????涓???璇???杩?涓???涓?灞??у??琚?绉頒負涓誨?抽??瀛???涓婚????

绗?浜???寮?锛?2NF锛?瑕?姹?瀹?浣???灞??у???ㄤ?璧?浜?涓誨?抽??瀛?????璋?瀹??ㄤ?璧?????涓??藉???ㄤ?渚?璧?涓誨?抽??瀛?涓??ㄥ????灞??э?濡???瀛?????d?杩?涓?灞??у??涓誨?抽??瀛???杩?涓??ㄥ??搴?璇ュ??绂誨?烘?ュ艦??涓?涓??扮??瀹?浣?锛??闆??浣?涓???瀹?浣?涔??存??涓?瀵瑰????崇郴??涓哄???闆?哄????甯擱??瑕?涓鴻〃??涓?涓?涓???锛?浠ュ???ㄥ??涓?瀹?渚?????涓???璇???绠???瑷?涔?锛?绗?浜???寮?灏辨????涓誨??ч???ㄥ??渚?璧?浜?涓誨?抽??瀛???

??

?绗?涓???寮???瑕?姹?濡?涓?锛??

婊¤凍绗?涓???寮?锛?3NF锛?蹇?椤誨??婊¤凍绗?浜???寮?锛?2NF锛???绠???瑷?涔?锛?绗?涓???寮?锛?3NF锛?瑕?姹?涓?涓??版??搴?琛ㄤ腑涓?????宸插?ㄥ?跺??琛ㄤ腑宸插????????涓誨?抽??瀛?淇℃????

??浠ョ??涓???寮??鋒??濡?涓??瑰?锛?

?????????1锛?姣?涓???????涓?涓??悸?

?????????2锛?姣?涓?琛??借?藉?哄?????

?????????3锛?姣?涓?涓?琛ㄩ?戒??????朵?琛ㄥ凡缁?????????涓誨?抽??瀛?淇℃????

渚?濡?锛?甯?瀛?琛ㄤ腑???藉?虹?闆??甯?浜虹??id锛???涓??藉?虹?闆??甯?浜虹??id锛?杩????跺?虹?闆??甯?浜哄???锛?????锛???瑕??虹?闆??涓???甯?浜?d??????璁闆?锛?瀹?浠?涓???濮????ㄥ???藉?椤諱弗?間???涓??達?杩?灏辨???版????浣???

1??璇村?轟?浜??版??搴?浼????歸?㈢??缁?楠??

??reparedStatement?涓????ヨ?存??Statement?ц?介??锛?涓?涓?sql???缁????″?ㄥ?繪?ц?锛?娑???姝ラ?わ?璇?娉?妫??ャ??璇?涔?????锛??缂?璇?锛?缂?瀛?

??inert?into?user?values(1,1,1)??-?浜?杩???

??inert?into?user?values(2,2,2)??-?浜?杩???

??inert?into?user?values(?,?,?)??-?浜?杩???

??澶???绾???浼?褰卞?????ュ?????ゆ?ц?斤?濡???绋?搴??藉?淇?璇??版????瀹??存?э??e?ㄨ?捐?℃?版??搴??跺氨?繪??澶?????锛?姣??夥?灏卞ソ姣???妫?浜у??锛?灏辨??涓轟???楂?????锛??????鎬俊浜у?????堕????锛?

锛?瀵逛?hibernate?ヨ?達?灏卞?璇ユ??涓?涓?????锛?empleyee->Deptment瀵矽薄锛??闆?ㄨ?捐?℃?跺氨??浜?employee?deptid锛?

??mysql甯??╂??妗e???ヨ?㈢???????????ㄥ??锛?渚?濡?锛??規????????????锛?涓??㈢??瀛??ヨ?㈣???ヨ?姣?绗?浜??″?寵???ヨ?㈢??????楂?锛?

1.??select?e.name,e.salary?where?e.managerid=(select?id?from?employee?where?name='zxx');

2.???select?e.name,e.salary,m.name,m.salary?from?employees?e,employees?m?where

?e.managerid?=?m.id?and?m.name='zxx';

琛ㄤ腑??璁擱??褰???浣?锛?璀?濡?锛?涓婚?甯?????澶??伴??????????澶??堕?寸??

灏?濮?????瀵???????浠??ㄦ?瘋〃涓???绔??烘?ャ??杩???浠ユ????甯稿ソ??涓?瀵逛???妗?渚???锛?

sql璇??ュ?ㄩ?ㄥぇ??锛??瑰??????????琛ㄥ???藉ぇ?????瑰????sql?戒護??缂?瀛????斤??村????瑕?缁?涓?澶у???锛?sql璇??ッ???缁?oracle???″???璇?娉?妫??ュ??缂?璇???涓哄???ㄦ??浠っ?缂?瀛????ц???浠ゃ???規??缂?瀛????圭?癸?涓?瑕??煎???′歡锛?????????PreparedStatment

杩???绱㈠?瀵規?ヨ?㈡?ц?界???矽?涔????煎??蟲敞????

澶?娉??涓??㈡???充??ц?界??璁ㄨ?轟婦渚?

4?????3涓???甯?

m*n

select?*?from?flight,city?where?flight.startcityid=city.cityid?and?city.name='beijing';

m?+?n

select?*?from?flight?where?startcityid?=?(select?cityid?from?city?where?cityname='beijing');

select?flight.id,'beijing',flight.flightTime?from?flight?where?startcityid?=?(select?cityid?from?city?where?cityname='beijing')

2??union??union?all??浠?涔?涓????

??璁炬??浠???涓?涓?琛?tudent锛?????浠ヤ?瀛?娈典??版??锛?

drop?table?student;

create?table?student

(

id?int?primary?key,

name?nvarchar2(50)?not?null,

score?number?not?null

);

insert?into?student?values(1,'Aaron',78);

insert?into?student?values(2,'Bill',76);

insert?into?student?values(3,'Cindy',89);

insert?into?student?values(4,'Damon',90);

insert?into?student?values(5,'Ella',73);

insert?into?student?values(6,'Frado',61);

insert?into?student?values(7,'Gill',99);

insert?into?student?values(8,'Hellen',56);

insert?into?student?values(9,'Ivan',93);

insert?into?student?values(10,'Jay',90);

commit;

Union??Union?All???哄?????

select?*

from?student

where?id?<?4

union

select?*

from?student

where?id?>?2?and?id?<?6

缁???灏???

1????Aaron????78

2????Bill????76

3????Cindy????89

4????Damon????90

5????Ella????73

濡????㈡??Union?All杩??ヤ袱涓?缁?????锛???杩???缁?????锛?

1????Aaron????78

2????Bill????76

3????Cindy????89

3????Cindy????89

4????Damon????90

5????Ella????73

??浠ョ???幫?Union??Union?All???哄??涔?涓??ㄤ?瀵歸??澶?缁?????澶?????

????UNION?ㄨ?琛?琛ㄩ?炬?ュ??浼?绛???????澶???璁闆?锛???浠ュ?ㄨ〃?炬?ュ??浼?瀵規??浜х????缁?????杩?琛???搴?杩?绠?锛????ら??澶???璁闆???杩???缁?????瀹???澶ч?ㄥ??搴??ㄤ腑??涓?浼?浜х????澶???璁闆?锛???甯歌?????杩?绋?琛ㄤ????茶〃UNION??濡?锛?

select?*?from?gc_dfys

union

select?*?from?ls_jg_dfys

????杩?涓?SQL?ㄨ?琛??跺?????轟袱涓?琛ㄧ??缁???锛????ㄦ??搴?绌洪?磋?琛???搴????ら??澶???璁闆?锛?????杩???缁?????锛?濡???琛ㄦ?版????澶х??璇????戒?瀵艱?寸?ㄧ???杩?琛???搴???

????UNION?ALL????绠?????灏?涓や釜缁?????骞跺??灏辮?????杩??鳳?濡???杩?????涓や釜缁?????涓?????澶????版??锛??d?杩?????缁?????灏變???????澶????版??浜???

??浠?????涓?璇達?UNION?ALL?瑕?姣?UNION蹇?寰?澶?锛???浠ワ?濡?????浠ョ‘璁ゅ??骞剁??涓や釜缁?????涓?涓???????澶????版????璇?锛??d?灏變嬌??NION?ALL锛?

3.??椤佃????

????ql琛ㄤ腑绗?31??0??璁闆?锛?浠ヨ???ㄥ???D涓轟富??锛?

sql?server?規?1锛?

select?top?10?*?from?t?where?id?not?in?(select?top?30?id?from?t?order?by?id?)?orde?by?id

sql?server?規?2锛?

select?top?10?*?from?t?where?id?in?(select?top?40?id?from?t?order?by?id)?order?by?id?desc

mysql?規?锛?select?*?from?t?order?by?id?limit?30,10

oracle?規?锛?select?*?from?(select?rownum?r,*?from?t?where?r<=40)?where?r>30

--------------------寰??寸??杩??葷????瀹?------------------------------------

pageSize=20;

pageNo?=?5;

1.??椤墊????1锛??存?ュ?╃??ql璇??ヨ?琛???椤碉???????楂??????ㄨ????锛?

mysql:sql?=?"select?*?from?articles?limit?"?+?(pageNo-1)*pageSize?+?","?+?pageSize;

oracle:?sql?=?"select?*?from?"?+

"(select?rownum?r,*?from?"?+

"(select?*?from?articles?order?by?postime?desc)"?+

"where?rownum<=?"?+?pageNo*pageSize?+")?tmp?"?+

"where?r>"?+?(pageNo-1)*pageSize;

娉ㄩ??锛?绗?7琛?淇?璇?rownum??椤哄???纭?瀹???锛???涓?racle??绱㈠?浼?????rownum杩???涓???????

绠?娲???绀猴?娌℃??order?by?訛?rownum??椤哄?杈??猴?涓?????浜?order?by锛?rownum涓???椤哄?杈??轟?锛?杩?璇存??rownum????搴?????缂??楓??濡???瀵?rder?by浠??ヤ腑??瀛?娈靛緩绔?浜?绱㈠?锛??d?锛?rownum涔?????椤哄?杈??虹??锛???涓鴻??跺????????濮????ヨ?㈢??????朵????х儲寮?琛ㄧ??椤哄??ユ??寤恒??

sqlserver:sql?=?"select?top?10?*?from?id?not?id(select?top?"?+?(pageNo-1)*pageSize?+?"id?from?articles)"

DataSource?ds?=?new?InitialContext().lookup(jndiurl);

Connection?cn?=?ds.getConnection();

//"select?*?from?user?where?id=?"??--->binary?directive

PreparedStatement?pstmt?=?cn.prepareSatement(sql);

ResultSet?rs?=?pstmt.executeQuery()

while(rs.next())

{

out.println(rs.getString(1));

}

2.涓???婊??ㄧ??娓告??

pageSize=20;

pageNo?=?5;

cn?=?null

stmt?=?null;

rs?=?null;

try

{

sqlserver:sql?=?"select??*?from?articles";

DataSource?ds?=?new?InitialContext().lookup(jndiurl);

Connection?cn?=?ds.getConnection();

//"select?*?from?user?where?id=?"??--->binary?directive

PreparedStatement?pstmt?=?cn.prepareSatement(sql);

ResultSet?rs?=?pstmt.executeQuery()

for(int?j=0;j<(pageNo-1)*pageSize;j++)

{

rs.next();

}

int?i=0;

while(rs.next()?&&?i<10)

{

i++;

out.println(rs.getString(1));

}

}

cacth(){}

finnaly

{

if(rs!=null)try{rs.close();}catch(Exception?e){}

if(stm.........

if(cn............

}

3.??婊??ㄧ??娓告??

pageSize=20;

pageNo?=?5;

cn?=?null

stmt?=?null;

rs?=?null;

try

{

sqlserver:sql?=?"select??*?from?articles";

DataSource?ds?=?new?InitialContext().lookup(jndiurl);

Connection?cn?=?ds.getConnection();

//"select?*?from?user?where?id=?"??--->binary?directive

PreparedStatement?pstmt?=?cn.prepareSatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,...);

//?規??涓??㈣?琛?浠g????寮?甯?QLFeatureNotSupportedException锛?灏卞???ゆ??椹卞?ㄦ??????????婊??ㄦ父??

ResultSet?rs?=?pstmt.executeQuery()

rs.absolute((pageNo-1)*pageSize)

int?i=0;

while(rs.next()?&&?i<10)

{

i++;

out.println(rs.getString(1));

}

}

cacth(){}

finnaly

{

if(rs!=null)try{rs.close();}catch(Exception?e){}

if(stm.........

if(cn............

}

3.?ㄤ???QL璇??ヂ??ヨ?㈠?烘???ㄨ?鵑?藉ぇ浜?80????瀛???濮?????

name???kecheng???fenshu?

寮?涓??????璇??????????81

寮?涓???????闆?β???????75

?????????璇??????????76

??????????闆?β???????90

??浜??????璇??????????81

??浜???????闆?β???????100

??浜???????辮?????????90

??澶??版????sql浠g??锛?

create?table?score(id?int?primary?key?auto_increment,name?varchar(20),subject?varchar(20),score?int);

insert?into?score?values?

(null,'寮?涓?','璇???',81),

(null,'寮?涓?','?闆??,75),

(null,'????','璇???',76),

(null,'????','?闆??,90),

(null,'??浜?','璇???',81),

(null,'??浜?','?闆??,100),

(null,'??浜??','?辮??',90);

??绀猴?褰??炬??涓?寰??惰В?訛?璇風???蟲??缁達???灏?????澶у??锛???澶у????灏???锛?

绛?妗?锛?

A:?select?distinct?name?from?score??where??name?not?in?(select?distinct?name?from?score?where?score<=80)

B:select?distince?name?t1?from?score?where?80<?all?(select?score?from?score?where?name=t1);

4.?????ㄩ?ㄤ??寸??姣?璧?缁???

涓?涓???department??琛?????㈠????涓?涓?瀛?娈?ame,涓??辨??4?$邯褰?锛???????a,b,c,d,瀵瑰???涓???瀵癸??闆?ㄥ??涓???瀵矽?琛?姣?璧?锛??ㄤ???ql璇??ユ?劇ず???????界??姣?璧?缁???.

绛?锛?select?a.name,?b.name?

from?team?a,?team?b?

where?a.name?<?b.name

4.姣?涓???浠界??????棰??芥??101绉???澶???绉???

璇風??QL璇??ュ???幫?浠?TestDB?版??琛ㄤ腑?ヨ?㈠?烘??????浠界??????棰??芥??101绉????稿???浠界??????棰?楂???绉?????璇鋒敞??锛?TestDB涓???寰?澶?绉???锛??芥??1锛?12??浠界??????棰???

AccID锛?绉???浠g??锛?Occmonth锛?????棰???浠斤?DebitOccur锛?????棰???

?版??搴???锛?JcyAudit锛??版????锛?Select?*?from?TestDB

??澶??版????sql浠g??锛?

drop?table?if?exists?TestDB;

create?table?TestDB(id?int?primary?key?auto_increment,AccID?varchar(20),?Occmonth?date,?DebitOccur?bigint);

insert?into?TestDB?values?

(null,'101','1988-1-1',100),

(null,'101','1988-2-1',110),

(null,'101','1988-3-1',120),

(null,'101','1988-4-1',100),

(null,'101','1988-5-1',100),

(null,'101','1988-6-1',100),

(null,'101','1988-7-1',100),

(null,'101','1988-8-1',100);

--澶??朵??㈢???版??锛???????绗?涓?涓???浠界??????棰??闆???瑰?涓???

insert?into?TestDB?values?

(null,'102','1988-1-1',90),

(null,'102','1988-2-1',110),

(null,'102','1988-3-1',120),

(null,'102','1988-4-1',100),

(null,'102','1988-5-1',100),

(null,'102','1988-6-1',100),

(null,'102','1988-7-1',100),

(null,'102','1988-8-1',100);

--澶??舵??涓??㈢???版??锛???????????????棰??闆???瑰ぇ涓???

insert?into?TestDB?values?

(null,'103','1988-1-1',150),

(null,'103','1988-2-1',160),

(null,'103','1988-3-1',180),

(null,'103','1988-4-1',120),

(null,'103','1988-5-1',120),

(null,'103','1988-6-1',120),

(null,'103','1988-7-1',120),

(null,'103','1988-8-1',120);

--澶??舵??涓??㈢???版??锛???????????????棰??闆???瑰ぇ涓???

insert?into?TestDB?values?

(null,'104','1988-1-1',130),

(null,'104','1988-2-1',130),

(null,'104','1988-3-1',140),

(null,'104','1988-4-1',150),

(null,'104','1988-5-1',160),

(null,'104','1988-6-1',170),

(null,'104','1988-7-1',180),

(null,'104','1988-8-1',140);

--澶??舵??涓??㈢???版??锛???????绗?浜?涓???浠界??????棰??闆???瑰?涓???

insert?into?TestDB?values?

(null,'105','1988-1-1',100),

(null,'105','1988-2-1',80),

(null,'105','1988-3-1',120),

(null,'105','1988-4-1',100),

(null,'105','1988-5-1',100),

(null,'105','1988-6-1',100),

(null,'105','1988-7-1',100),

(null,'105','1988-8-1',100);

绛?妗?锛?

select?distinct?AccID?from?TestDB?

where?AccID?not?in?

(select?TestDB.AccIDfrom?TestDB,

?(select?*?from?TestDB?where?AccID='101')?as?db101?

where?TestDB.Occmonth=db101.Occmonth?and?TestDB.DebitOccur<=db101.DebitOccur

);

4.缁?璁℃??骞存??????淇℃??

year??month?amount

1991???1?????1.1

1991???2?????1.2

1991???3?????1.3

1991???4?????1.4

1992???1?????2.1

1992???2?????2.2

1992???3?????2.3

1992???4?????2.4

?ユ??杩??蜂?涓?缁???

year?m1??m2??m3??m4

1991?1.1?1.2?1.3?1.4

1992?2.1?2.2?2.3?2.4?

??绀猴?杩?涓?涓?宸ヨ??¢??甯哥被浼鹼?涓?瀛?????绉?????缁╀?寰??鎬技??

??澶?sql璇??ワ?

drop?table?if?exists?sales;

create?table?sales(id?int?auto_increment?primary?key,year?varchar(10),?month?varchar(10),?amount?float(2,1));

insert?into?sales?values

(null,'1991','1',1.1),

(null,'1991','2',1.2),

(null,'1991','3',1.3),

(null,'1991','4',1.4),

(null,'1992','1',2.1),

(null,'1992','2',2.2),

(null,'1992','3',2.3),

(null,'1992','4',2.4);

绛?妗?涓???

select?sales.year?,

(select?t.amount?from?sales?t?where?t.month='1'?and?t.year=?sales.year)?'1',

(select?t.amount?from?sales?t?where?t.month='1'?and?t.year=?sales.year)?'2',

(select?t.amount?from?sales?t?where?t.month='1'?and?t.year=?sales.year)?'3',

(select?t.amount?from?sales?t?where?t.month='1'?and?t.year=?sales.year)?as?'4'?

from?sales??group?by?year;

5.?劇ず??绔???棰?锛???甯?浜恒????????澶??堕??

琛??id,title,postuser,postdate,parentid

??澶?sql璇??ワ?

drop?table?if?exists?articles;

create?table?articles(id?int?auto_increment?primary?key,title?varchar(50),?postuser?varchar(10),?postdate?datetime,parentid?int?references?articles(id));

insert?into?articles?values

(null,'绗?涓???,'寮?涓?','1998-10-10?12:32:32',null),

(null,'绗?浜???,'寮?涓?','1998-10-10?12:34:32',null),

(null,'绗?涓??″??澶?1','????','1998-10-10?12:35:32',1),

(null,'绗?浜??″??澶?1','????','1998-10-10?12:36:32',2),

(null,'绗?涓??″??澶?2','??浜?','1998-10-10?12:37:32',1),

(null,'绗?涓??″??澶?3','????','1998-10-10?12:38:32',1),

(null,'绗?浜??″??澶?2','????','1998-10-10?12:39:32',2),

(null,'绗?涓??″??澶?4','??浜?','1998-10-10?12:39:40',1);

绛?妗?锛?

select?a.title,a.postuser,

(select?max(postdate)?from?articles?where?parentid=a.id)?reply?

from?articles?a?where?a.parentid?is?null;

娉ㄩ??锛?瀛??ヨ?㈠??浠ョ?ㄥ?ㄩ???╁??涓?锛?涔????ㄤ?where??姣?杈??′歡涓?锛?杩???浠ョ?ㄤ?from浠??ヤ腑??

3.???ら?や?id?蜂???,?朵??界?稿????瀛?????浣?淇℃??

2.瀛???琛??濡?涓?:

id?仿???瀛??仿???濮????璇劇?缂??仿?璇劇???绉奧????? 1????????2005001??寮?涓???0001???????闆?β????69

2????????2005002????????0001???????闆?β????89

3????????2005001??寮?涓???0001???????闆?β????69

A:?delete?from?tablename?where?id?仿?not?in(select?min(id???from?tablename?group?by?瀛???濮???,璇劇?缂???璇劇???绉?????

瀹?楠?锛?

create?table?student2(id?int?auto_increment?primary?key,code?varchar(20),name?varchar(20));

insert?into?student2?values(null,'2005001','寮?涓?'),(null,'2005002','????'),(null,'2005001','寮?涓?');

//濡?涓?璇??ワ?mysql?ュ????璇?锛????藉???や?璧????㈢?璁¤???ワ??????ゅ??瀵艱?寸?璁¤???ョ???涓?涓??淬??

delete?from?student2?where?id?not?in(select?min(id)?from?student2?group?by?name);

//浣???锛?濡?涓?璇??ユ病????棰?锛?

select?*??from?student2?where?id?not?in(select?min(id)?from?student2?group?by?name);

//浜???锛????沖??????缁???缁?????????琛???跺??浠???琛ㄤ腑???虹???锛???????灏?缁???浣?涓哄???ょ???′歡?版????

delete?from?student2?where?id?not?in(select?mid?from?(select?min(id)?mid

from?student2?group?by?name)?as?t);

????锛?

delete?from?student2?where?id?not?in(select?min(id)?from?(select?*?from?s

tudent2)?as?t?group?by?t.name);

4.??绌虹?????涓??????ヨ?㈤?锛?

琛ㄧ???濡?涓?锛?

flight{flightID,StartCityID?,endCityID,StartTime}

city{cityID,?CityName)

瀹?楠???澧?锛?

create?table?city(cityID?int?auto_increment?primary?key,cityName?varchar(20));

create?table?flight?(flightID?int?auto_increment?primary?key,

StartCityID?int?references?city(cityID),

endCityID??int?references?city(cityID),

StartTime?timestamp);?

//???????ュ?璇ユ病???ユ???ㄥ????濂斤?浣???涓??㈢??棰???褰?涓?娑????頒??ユ??

insert?into?city?values(null,'??浜?'),(null,'涓?娴?),(null,'骞垮?');

insert?into?flight?values

(null,1,2,'9:37:23'),(null,1,3,'9:37:23'),(null,1,2,'10:37:23'),(null,2,3,'10:37:23');

1???ヨ?㈣搗椋???甯?????浜???????????锛????拌揪??甯?????瀛???搴?

??涓?杩?绠?????????璧風???藉??劇ず?烘?ョ???d???锛?浣???缁???涓?涓?瀹???瀹?浠??劇ず?烘?ャ????涓?琛ㄧ????烘?ョ??涓??寸???瀛?娈典腑蹇?椤誨????????杩?绠???瀛?娈點??

??select??*?from?flight?f,city?c?

where?f.endcityid?=?c.cityid?and?startcityid?=?

(select?c1.cityid?from?city?c1?where?c1.cityname?=?"??浜?")

order?by?c.cityname?asc;

mysql>?select?flight.flightid,'??浜?'?startcity,?e.cityname?from?flight,city?e?wh

ere?flight.endcityid=e.cityid?and?flight.startcityid=(select?cityid?from?city?wh

ere?cityname='??浜?');

mysql>?select?flight.flightid,s.cityname,e.cityname?from?flight,city?s,city?e?wh

ere?flight.startcityid=s.cityid?and?s.cityname='??浜?'?and?flight.endCityId=e.cit

yID?order?by?e.cityName?desc;

2???ヨ?㈠??浜??頒?娴風??????????绾?褰?锛?璧烽???甯?锛??拌揪??甯?锛?璧烽??堕?達??????鳳?

select?c1.CityName,c2.CityName,f.StartTime,f.flightID

from?city?c1,city?c2,flight?f

where?f.StartCityID=c1.cityID?

and?f.endCityID=c2.cityID

and?c1.cityName='??浜?'

and?c2.cityName='涓?娴?

3???ヨ?㈠?蜂???涓?澶╋?2005-5-8锛?????浜??頒?娴風????????娆℃??

select?count(*)?from?

(select?c1.CityName,c2.CityName,f.StartTime,f.flightID

from?city?c1,city?c2,flight?f

where?f.StartCityID=c1.cityID?

and?f.endCityID=c2.cityID

and?c1.cityName='??浜?'

and?c2.cityName='涓?娴?

and??ュ府?╄?峰?????涓??ユ??澶????芥??startTime)?like?'2005-5-8%'

mysql涓??????ユ???ㄥ??杩?琛?姣?杈???绀轟?浠g??濡?涓?锛?

select?*?from?flight?where?date_format(starttime,'%Y-%m-%d')='1998-01-02'

5.?ュ?烘??缁?????姘磋?楂?????宸ヤ俊??锛?

Drop?table?if?not?exists?employees;

create?table?employees(id?int?primary?key?auto_increment,name?varchar(50)

,salary?int,managerid?int?references?employees(id));

insert?into?employees?values?(null,'?lhm',10000,null),?(null,'?zxx',15000,1

),(null,'flx',9000,1),(null,'tg',10000,2),(null,'wzg',10000,3);

Wzg澶т?flx,lhm澶т?zxx

瑙i???璺?锛?

??????規??sql璇??ョ???ヨ?㈢?圭?癸?????琛?杩?琛?杩?绠?锛?涓????戒袱琛????跺??涓?杩?绠???

娑???浜???宸ヨ??姘村??缁?????姘達?????锛?涓?琛?璁闆?瑕????跺????涓や釜??姘達??????沖?拌???杩?涓?琛ㄨ???寵??缁???涓?涓???

?????棣???瑕?缁????轟?涓?????????涓???宸ュ??璇ュ??宸ョ??缁???淇℃?????胯?闆?锛?璀?濡?锛?宸????ㄥ??????宸ワ??沖???ㄥ????缁???????杩??″?绉?浼?缁????哄?澶????句俊??锛????婚?よ?浜????句俊????

select?e.*?from?employees?e,employees?m?where?e.managerid=m.id?and?e.sala

ry>m.salary;

6??姹??哄?浜?45宀?????涓???甯???甯???澶т?12宀???瀛???浜烘??

?版??搴?涓???3涓?琛??teacher?琛??student琛??tea_stu?崇郴琛ㄣ???

teacher?琛??teaID?name?age?

student?琛??stuID?name?age?

teacher_student琛??teaID?stuID?

瑕?姹??ㄤ???ql?ヨ?㈠?鴻??風??缁????

1.?劇ず??瀛?娈佃?????甯?name,?age?姣?涓???甯???甯???瀛???浜烘?奧?

2??????鴻??甯?age涓?0浠ヤ?锛?瀛???age涓?2浠ヤ???璁闆?

棰?澶??ヨ??锛?

??????1.sql璇??ユ??瀵規??涓??¤?闆?渚?娆″???锛??′歡涓虹?????ц??ㄤ?锛?select,insert,delete,update锛?

???????2.??瑕???杩??″?绉?锛?灏變?浜х???????鋸??淇℃??锛???浠ワ???瑕?杩??″?绉?浜?锛???浠?棣???灏辮??沖?版??も?????鋸??淇℃??

瀹?楠???澶?锛?

drop?table?if?exists?tea_stu;

drop?table?if?exists?teacher;

drop?table?if?exists?student;

??????create?table?teacher(teaID?int?primary?key,name?varchar(50),age?int);

??????create?table?student(stuID?int?primary?key,name?varchar(50),age?int);

??????create?table?tea_stu(teaID?int?references?teacher(teaID),stuID?int?references?student(stuID));

insert?into?teacher?values(1,'zxx',45),?(2,'lhm',25)?,?(3,'wzg',26)?,?(4,'tg',27);

insert?into?student?values(1,'wy',11),?(2,'dh',25)?,?(3,'ysq',26)?,?(4,'mxc',27);

insert?into?tea_stu?values(1,1),?(1,2),?(1,3);

insert?into?tea_stu?values(2,2),?(2,3),?(2,4);

?insert?into?tea_stu?values(3,3),?(3,4),?(3,1);

insert?into?tea_stu?values(4,4),?(4,1),?(4,2)?,?(4,3);

缁???锛?2?3,3?2,4?3

瑙i???璺?锛?锛???瀹??㈣??绛?棰??訛?涔?瑕????烘??涓?????姝ラ?わ?濡???绾稿?涓?澶?锛?灏辨?懼??浜鴻?锛?

1瑕?浼?缁?璁″??缁?淇℃??锛?缁?璁′俊???懼?ㄤ腑?磋〃涓?锛?

select?teaid,count(*)?from?tea_stu?group?by?teaid;

2?ョ???跺??搴?璇ユ??绛??ゆ??灏?浜?12宀???瀛???锛??跺????杩?琛?缁?璁★?涓??磋〃蹇?椤諱?student?寵?????藉???2宀?浠ヤ?瀛???????璇ュ????璁闆?浠?涓??磋〃涓????わ?浠g????锛?

select?tea_stu.teaid,count(*)?total?from?student,tea_stu?

where?student.stuid=tea_stu.stuid?and?student.age>12?group?by?tea_stu.teaid

3.?ョ????涓??㈢??缁?????????琛ㄤ?teacher杩?琛??寵??锛?骞剁???ゅぇ浜?45????甯?

select?teacher.teaid,teacher.name,total?from?teacher?,(select?tea_stu.tea

id,count(*)?total?from?student,tea_stu?where?student.stuid=tea_stu.stuid?and?stu

dent.age>12?group?by?tea_stu.teaid)?as?tea_stu2?where?teacher.teaid=tea_stu2.tea

id?and?teacher.age<45;

7.姹??哄??甯???澶???浜猴?

select?authorid,count(*)?total?from?articles?

group?by?authorid?

having?total=

(select?max(total2)?from?(select?count(*)?total2?from?articles?group?by?authorid)?as?t);

select?t.authorid,max(t.total)?from

锛?select?authorid,count(*)?total?from?articles?锛?as?t

杩??¤???ヤ?琛?锛???涓?ax????涓???锛?涓??戒??朵???娣鋒???

select?authorid,count(*)?total?from?articles?

group?by?authorid?having?total=max(total)涔?涓?琛???

10??涓?涓??ㄦ?瘋〃涓???涓?涓?绉???瀛?娈碉???濡??版??搴?涓???100澶?涓?涓??ㄦ?鳳??ヨ??ㄦ??骞寸??涓?澶╁???ㄥ?绉???娓??訛?浣?灏?????浠?涔?锛?浣?灏??充?涔???娉?瑙e??

alter?table?drop?column?score;

alter?table?add?colunm?score?int;

???戒?寰?蹇?锛?浣?????瑕?璇?楠?锛?璇?楠?涓??芥?跨??瀹?????澧??ユ????锛?骞朵?瑕?娉ㄦ??锛?

杩??風????浣??舵??娉???婊???锛??ㄦ?????拌薄涓?锛?????inert?update?delete绛?DML璇??ユ???藉??婊?锛?

瀵逛?create?table,drop?table?,alter?table绛?DDL璇??ユ??涓??藉??婊???

瑙e?蟲?規?涓?锛?update?user?set?score=0;?

瑙e?蟲?規?浜?锛???璁句??㈢??浠g??瑕??ц?濂介?挎?堕?達?瓒??烘??浠???瀹瑰????達??f??灏?lter?table?user?drop?column?score;alter?table?user?add?column?score?int??

涓???唬??瀹??版??骞寸???d釜???ㄦ?跺?昏?琛?娓??躲??

Runnable?runnable?=?

new?Runnable(){

public?void?run(){

clearDb();

schedule(this,new?Date(new?Date().getYear()+1,0,0));

}

};

schedule(runnable,

new?Date(new?Date().getYear()+1,0,1));

10??涓?涓??ㄦ?峰?鋒??澶?涓?瑙??詫?璇鋒?ヨ?㈠?鴻?ヨ〃涓??鋒??璇ョ?ㄦ?風??????瑙??茬???朵??ㄦ?楓??

select?count(*)?as?num,tb.id?

from?

?tb,

?(select?role?from?tb?where?id=xxx)?as?t1

where

?tb.role?=?t1.role?and?tb.id?!=?t1.id

group?by?tb.id?

having?

num?=?select?count(role)?from?tb?where?id=xxx;

8.?xxx???哥??sql?㈣??

Table?EMPLOYEES?Structure:

EMPLOYEE_ID??????NUMBER????????Primary?Key,

FIRST_NAME???????VARCHAR2(25),

LAST_NAME???????VARCHAR2(25),

Salary?number(8,2),

HiredDate?DATE,

Departmentid?number(2)

Table?Departments?Structure:

Departmentid?number(2)????????Primary?Key,

DepartmentName??VARCHAR2(25).

?(2锛??轟?涓?杩?MPLOYEES琛ㄥ???烘?ヨ??????洪???ㄦ?ユ???ㄤ?骞寸??锛?????宸ヨ???1000,2000]涔??寸??锛???????宸ュ???锛?last_name锛?浠モ??Obama????澶寸????????宸ワ????鴻?浜???宸ョ???ㄩ?ㄤ釜浜轟俊????锛?4??锛?

select?*?from?employees?

where?Year(hiredDate)?=?Year(date())?

or?(salary?between?1000?and?200)

or?left(last_name,3)='abc';

(3)??轟?涓?杩?MPLOYEES琛ㄥ???烘?ヨ????ュ?洪?ㄩ?ㄥ鈎??宸ヨ?澶т?1800?????ㄩ?ㄧ????????宸ワ????鴻?浜???宸ョ???ㄩ?ㄤ釜浜轟俊????锛?4??锛?

mysql>?select?id,name,salary,deptid?did?from?employee1?where?(select?avg(salary)

?from?employee1?where?deptid?=?did)?>?1800;

(4)??轟?涓?杩?MPLOYEES琛ㄥ???烘?ヨ????ュ?轟釜浜哄伐璧?楂?浜??舵???ㄩ?ㄩ?ㄥ鈎??宸ヨ?????宸ワ????鴻?浜???宸ョ???ㄩ?ㄤ釜浜轟俊????璇ュ??宸ュ伐璧?楂??洪?ㄩ?ㄥ鈎??宸ヨ??懼??姣???锛?5??锛?

select?employee1.*,(employee1.salary-t.avgSalary)*100/employee1.salary?

from?employee1,

(select?deptid,avg(salary)?avgSalary?from?employee1?group?by?deptid)?as?t

where?employee1.deptid?=?t.deptid?and?employee1.salary>t.avgSalary;

1??娉ㄥ??Jdbc椹卞?ㄧ?搴???涓?绉??瑰?

1????DBC濡?浣?璋??ㄥ???ㄨ?绋?

浠g??濡?涓?锛?

package?com.huawei.interview.lym;

import?java.sql.CallableStatement;

import?java.sql.Connection;

import?java.sql.DriverManager;

import?java.sql.SQLException;

import?java.sql.Types;

public?class?JdbcTest?{

public?static?void?main(String[]?args)?{

//?TODO?Auto-generated?method?stub

Connection?cn?=?null;

CallableStatement?cstmt?=?null;

try?{

//杩?????濂戒?瑕?杩?涔?骞詫???涓洪┍?ㄥ????姝誨?ㄧ?搴?涓?浜?

Class.forName("com.mysql.jdbc.Driver");

//瀹???椤圭??涓?锛?杩???搴???ataSource?版??锛?濡????ㄦ??訛?

//杩?涓??版??婧?涓???瑕???浠?缂?????寤猴???浠?????Datasource?ds?=?context.lookup()

//cn?=?ds.getConnection();

cn?=?DriverManager.getConnection("jdbc:mysql:///test","root","root");

cstmt?=?cn.prepareCall("{call?insert_Student(?,?,?)}");

cstmt.registerOutParameter(3,Types.INTEGER);

cstmt.setString(1,?"wangwu");

cstmt.setInt(2,?25);

cstmt.execute();

//get绗???涓?锛?涓??????版??搴?涓?涓??鳳?寤鴻??涓???

System.out.println(cstmt.getString(3));

}?catch?(Exception?e)?{

//?TODO?Auto-generated?catch?block

e.printStackTrace();

}

finally

{

try?{

if(cstmt?!=?null)

cstmt.close();

if(cn?!=?null)

cn.close();

}?catch?(SQLException?e)?{

//?TODO?Auto-generated?catch?block

e.printStackTrace();

}

}

}

1??JDBC涓???PreparedStatement?告??Statement??濂藉?

绛?锛?涓?涓?sql?戒護??缁????″?ㄥ?繪?ц???姝ラ?や負锛?璇?娉?妫??ワ?璇?涔?????锛?缂?璇??????ㄦ??浠わ?缂?瀛???浠わ??ц???浠ょ??杩?绋???

select?*?from?student?where?id?=3----缂?瀛?--?xxxxx浜?杩??跺?戒護

select?*?from?student?where?id?=3----?存?ュ??-?xxxxx浜?杩??跺?戒護

select?*?from?student?where?id?=4---?-?浼???涔?骞詫?

濡???褰?????select?*?from?student?where?id?=?---?-???浼???涔?骞詫?

?涓??㈣?寸?????ц?芥??楂?

??浠ラ?叉??ql娉ㄥ?ャ??

1.???涓?涓???dbc杩??ュ苟璁塊??oracle?版????绋?搴?浠g??

2??Class.forName??浣???涓轟?涔?瑕????

绛?锛??????頒腑??瀹???瀛?绗?覆褰㈠???绫誨???繪??绱㈠苟??杞界?稿???绫夥?濡???璇ョ被瀛?????宸茬?琚???杞借?锛???杩???浠h〃璇ュ????????Class瀹?渚?瀵矽薄锛?????锛???绫誨??杞藉?ㄧ??濮????哄?跺?繪??绱㈠????杞借?ョ被锛?濡?????????绫誨??杞藉?ㄩ?芥??娉???杞藉?拌?ョ被锛???????lassNotFoundException????杞藉??杩?涓?Class瀛???????锛??ョ??灏卞??浠ヤ嬌??lass瀛???????newInstance?規??誨??寤鴻?ョ被??瀹?渚?瀵矽薄浜???

???跺??锛???浠?绋?搴?涓?????浣跨?ㄧ???蜂?绫誨???ㄨ?捐?℃?訛??沖????訛???娉?纭?瀹?锛?????绋?搴?杩?琛??舵???界‘瀹?锛?杩??跺??灏遍??瑕?浣跨??lass.forName?誨?ㄦ????杞借?ョ被锛?杩?涓?绫誨????甯告???ㄩ??缃???浠朵腑??缃???锛?渚?濡?锛?spring??ioc涓?姣?娆′?璧?娉ㄥ?ョ???蜂?绫誨氨??杩??烽??缃???锛?jdbc??椹卞?ㄧ被????甯鎬?????杩???缃???浠舵?ラ??缃???锛?浠ヤ究?ㄤ駭??浜や?浣跨?ㄥ??涓??ㄤ慨?規?绋?搴?灏卞??浠ユ?存?㈤┍?ㄧ被????

3??澶ф?版????涓?????椤佃В?蟲?規???

绛?锛???濂界????娉????╃??ql璇??ヨ?琛???椤碉?杩??鋒??娆℃?ヨ?㈠?虹??缁?????涓?灏卞????????椤電???版????瀹廣????sql璇??ユ??娉?瀹??闆??椤電?????典?锛???浠ヨ????瀵瑰ぇ??缁???????杩?娓告??瀹?浣??瑰??ヨ?峰????椤電???版????

sql璇??ュ??椤碉?涓??????版??搴?涓?????椤墊?規???涓?涓??鳳?涓??㈡??涓繪???涓?绉??版??搴?????椤?ql锛?

sql?server:

String?sql?=?

"select?top?"?+?pageSize?+?"?*?from?students?where?id?not?in"?+

?"(select?top?"?+?pageSize?*?(pageNumber-1)?+?"?id?from?students?order?by?id)"?+?

?

?"order?by?id";

mysql:

??

String?sql?=?

"select?*?from?students?order?by?id?limit?"?+?pageSize*(pageNumber-1)?+?","?+?pageSize;

oracle:

?

String?sql?=?

?"select?*?from?"?+??

?(select?*,rownum?rid?from?(select?*?from?students?order?by?postime?desc)?where?rid<="?+?pagesize*pagenumber?+?")?as?t"?+?

?"where?t>"?+?pageSize*(pageNumber-1);

4?????JDBC??ヨ?㈠??????缁╁??,???涓昏?浠g?????烘?ワ???璇?姒?????澶э?.?

Connection?cn?=?null;

PreparedStatement?pstmt?=null;

Resultset?rs?=?null;

try

{

Class.forname(driveClassName);

cn?=??DriverManager.getConnection(url,username,password);

pstmt?=?cn.prepareStatement(??select??score.*?from?score?,student????+?

??where?score.stuId?=?student.id?and?student.name?=????);

pstmt.setString(1,studentName);

Resultset?rs?=?pstmt.executeQuery();

while(rs.next())

{

system.out.println(rs.getInt(??subject??)??+???????????+?rs.getFloat(??score??)?);

}

}catch(Exception?e){e.printStackTrace();}

finally

{

if(rs?!=?null)?try{?rs.close()?}catch(exception?e){}

if(pstmt?!=?null)?try{pstmt.close()}catch(exception?e){}

if(cn?!=?null)?try{?cn.close()?}catch(exception?e){}

}

5??杩?娈典唬????浠?涔?涓?瓒充?澶???

try?{

Connection?conn?=?...;

Statement?stmt?=?...;

ResultSet?rs?=?stmt.executeQuery("select?*?from?table1");

while(rs.next())?{

}

}?catch(Exception?ex)?{

}?

绛?锛?娌℃??finally璇??ユ?ュ?抽????涓?瀵矽薄锛????锛?浣跨??inally涔???锛?瑕?????????瀹?涔??懼??ry璇??ュ????澶????浠ヤ究??ry璇??ュ??涔?澶???finally??涓?浠???浠ヨ?塊??杩?浜???????

36??璇村?烘?版??杩??ユ???宸ヤ??哄?舵??浠?涔???

J2EE???″?ㄥ???ㄦ?朵?寤虹??涓?瀹??伴????姹?杩??ワ?骞朵??寸淮??涓?灏?浜?姝ゆ?扮????姹?杩??ャ??瀹㈡?風??绋?搴???瑕?杩??ユ?訛?姹?椹卞?ㄧ?搴?浼?杩???涓?涓???浣跨?ㄧ??姹?杩??ュ苟灏??惰〃璁頒負蹇???濡???褰???娌℃??绌洪?茶??ワ?姹?椹卞?ㄧ?搴?灏辨?闆緩涓?瀹??伴????杩??ワ??闆緩杩??ョ???伴??????缃????闆?沖????褰?浣跨?ㄧ??姹?杩??ヨ??ㄥ??????锛?姹?椹卞?ㄧ?搴?灏?姝よ??ヨ〃璁頒負绌洪?詫??朵?璋??ㄥ氨??浠ヤ嬌?ㄨ?涓?杩??ャ???

瀹??版?瑰?锛?杩?????Connection????濮?Connection??浠g??锛?浠g??Connection??close?規?涓?????姝e?寵??ワ???????瀹?浠g????Connection瀵矽薄杩????拌??ユ?涓???

4??涓轟?涔?瑕????ORM??????JDBC???浣?涓?涓????

orm??涓?绉????籌?灏辨????object杞??????版??搴?涓???璁闆?锛????????版??搴?涓???璁闆?杞?????objecdt锛???浠???浠ョ??dbc?ュ???拌?绉????籌??跺??锛?濡?????浠???椤圭????涓ユ?兼????op?瑰?缂?????璇?锛???浠???jdbc绋?搴?涓?绠℃??????杩???????锛?灏卞凡缁??ㄥ????rm??宸ヤ?浜???

?闆?ㄦ??璁稿?orm宸ュ?鳳?瀹?浠?搴?灞?璋???dbc?ュ???頒?orm宸ヤ?锛???浠??存?ヤ嬌?ㄨ?浜?宸ュ?鳳?灏辯???諱??存?ヤ嬌??dbc??绻???缁???锛???楂?浜?寮???????锛??闆?ㄧ?ㄧ??杈?澶???orm宸ュ?鋒??hibernate??涔???璇翠?浜??朵?orm宸ュ?鳳?濡?toplink,ojb绛????

8.?XML?ㄥ??

1??xml????浜?瑙f????????哄????浠?涔???

绛?:??DOM,SAX,STAX绛??

DOM:澶???澶у????浠舵?跺?舵?ц?戒???????甯稿??瀹熾??杩?涓???棰?????OM????缁???????????锛?杩?绉?缁??????ㄧ????瀛?杈?澶?锛???涓?DOM蹇?椤誨?ㄨВ????浠朵??????翠釜??妗h??ュ??瀛?,????瀵?ML?????鴻?塊??SAX:涓??頒?DOM,SAX??浜?浠堕┍?ㄥ????XML瑙f???瑰???瀹?椤哄?璇誨??XML??浠訛?涓???瑕?涓?娆″?ㄩ?ㄨ?杞芥?翠釜??浠躲??褰????闆????浠跺?澶達???妗g???锛???????绛懼?澶翠???绛劇????訛?瀹?浼?瑙???涓?涓?浜?浠訛??ㄦ?烽??杩??ㄥ?跺??璋?浜?浠朵腑???ュ???浠g???ュ???XML??浠訛?????瀵?ML??椤哄?璁塊???

STAX:Streaming?API?for?XML?(StAX)?

璁茶В杩?浜??哄????涓???瑕??瑰???繪??杈?锛?灏卞??璇翠??烘??瀹???朵??矽???烘?????哄???訛???浠?????璇存?妤?浼??烘??瀹㈡??浠?涔??圭?瑰??浼??瑰氨琛?浜?锛?杩?灏卞凡缁??存?ュ??绛?浜?褰兼?ょ???哄????

2??浣??ㄩ」??涓??ㄥ?頒?xml????????浜??歸??濡?浣?瀹??扮????

绛?:?ㄥ?頒??版??瀛?璐?锛?淇℃????缃?涓ゆ?歸?????ㄥ???版??浜ゆ?㈠鈎?版?訛?灏?涓??芥?版??婧????版??缁?瑁???XML??浠訛??跺??灏?XML??浠跺??缂╂??????瀵?????杩?缃?缁?浼???缁??ユ?惰??锛??ユ?惰В瀵?涓?瑙e??缂╁??????XML??浠朵腑杩????稿?充俊??杩?琛?澶??????ㄥ??杞?浠堕??缃??訛??╃??ML??浠ュ??逛究??杩?琛?锛?杞?浠剁????绉???缃????伴?藉??璐???ML??浠朵腑???

3????dom瑙f??xml??浠舵?跺?浣?瑙e?充腑????棰??濡?浣?瑙f????

绛?:??濡?涓?浠g??,?ㄧ????瑰???浠ヨВ?陳?

package?test;?

import?java.io.*;?

public?class?DOMTest?

{?

private?String?inFile?=?"c:\\people.xml"?

private?String?outFile?=?"c:\\people.xml"?

public?static?void?main(String?args[])?

{?

new?DOMTest();?

}?

public?DOMTest()?

{?

try?

{?

javax.xml.parsers.DocumentBuilder?builder?=?

javax.xml.parsers.DocumentBuilderFactory.newInstance().newDocumentBuilder();?

org.w3c.dom.Document?doc?=?builder.newDocument();?

org.w3c.dom.Element?root?=?doc.createElement("??甯?");?

org.w3c.dom.Element?wang?=?doc.createElement("??");?

org.w3c.dom.Element?liu?=?doc.createElement("??");?

wang.appendChild(doc.createTextNode("????????甯?"));?

root.appendChild(wang);?

doc.appendChild(root);?

javax.xml.transform.Transformer?transformer?=?

javax.xml.transform.TransformerFactory.newInstance().newTransformer();?

transformer.setOutputProperty(javax.xml.transform.OutputKeys.ENCODING,?"gb2312");?

transformer.setOutputProperty(javax.xml.transform.OutputKeys.INDENT,?"yes");?

transformer.transform(new?javax.xml.transform.dom.DOMSource(doc),?

new?

javax.xml.transform.stream.StreamResult(outFile));?

}?

catch?(Exception?e)?

{?

System.out.println?(e.getMessage());?

}?

}?

}?

4??缂?绋???AVA瑙f??XML???瑰?.?

绛?:??AX?瑰?瑙f??XML锛?XML??浠跺?涓?锛??

<?xml?version=1.0?encoding=gb2312?>?

<person>?

<name>??灏???</name>?

<college>淇℃??瀛???lt;/college>?

<telephone>6258113</telephone>?

<notes>??1955骞寸??,??澹?锛?95骞磋??ユ搗??澶у??lt;/notes>?

</person>?

浜?浠跺??璋?绫?AXHandler.java?

import?java.io.*;?

import?java.util.Hashtable;?

import?org.xml.sax.*;?

public?class?SAXHandler?extends?HandlerBase?

{?

private?Hashtable?table?=?new?Hashtable();?

private?String?currentElement?=?null;?

private?String?currentValue?=?null;?

public?void?setTable(Hashtable?table)?

{?

this.table?=?table;?

}?

public?Hashtable?getTable()?

{?

return?table;?

}?

public?void?startElement(String?tag,?AttributeList?attrs)?

throws?SAXException?

{?

currentElement?=?tag;?

}?

public?void?characters(char[]?ch,?int?start,?int?length)?

throws?SAXException?

{?

currentValue?=?new?String(ch,?start,?length);?

}?

public?void?endElement(String?name)?throws?SAXException?

{?

if?(currentElement.equals(name))?

table.put(currentElement,?currentValue);?

}?

}?

JSP??瀹規?劇ず婧???,SaxXml.jsp:?

<HTML>?

<HEAD>?

<TITLE>????XML??浠?eople.xml</TITLE>?

</HEAD>?

<BODY>?

<%@?page?errorPage=ErrPage.jsp?

contentType=text/html;charset=GB2312?%>?

<%@?page?import=java.io.*?%>?

<%@?page?import=java.util.Hashtable?%>?

<%@?page?import=org.w3c.dom.*?%>?

<%@?page?import=org.xml.sax.*?%>?

<%@?page?import=javax.xml.parsers.SAXParserFactory?%>?

<%@?page?import=javax.xml.parsers.SAXParser?%>?

<%@?page?import=SAXHandler?%>?

<%?

File?file?=?new?File(c:\people.xml);?

FileReader?reader?=?new?FileReader(file);?

Parser?parser;?

SAXParserFactory?spf?=?SAXParserFactory.newInstance();?

SAXParser?sp?=?spf.newSAXParser();?

SAXHandler?handler?=?new?SAXHandler();?

sp.parse(new?InputSource(reader),?handler);?

Hashtable?hashTable?=?handler.getTable();?

out.println(<TABLE?BORDER=2><CAPTION>??甯?淇℃??琛?lt;/CAPTION>);?

out.println(<TR><TD>濮???</TD>?+?<TD>?+?

(String)hashTable.get(new?String(name))?+?</TD></TR>);?

out.println(<TR><TD>瀛???lt;/TD>?+?<TD>?+?

(String)hashTable.get(new?String(college))+</TD></TR>);?

out.println(<TR><TD>?佃??</TD>?+?<TD>?+?

(String)hashTable.get(new?String(telephone))?+?</TD></TR>);?

out.println(<TR><TD>澶?娉?lt;/TD>?+?<TD>?+?

(String)hashTable.get(new?String(notes))?+?</TD></TR>);?

out.println(</TABLE>);?

%>?

</BODY>?

</HTML>?

70??XML??妗e??涔?????绉?褰㈠?锛?瀹?浠?涔??存??浣???璐ㄥ?哄??锛?瑙f??XML??妗f??????绉??瑰?锛??

a:?涓ょ?褰㈠??dtd??schema锛?b:???璐ㄥ?哄??:schema??韬???xml??锛???浠ヨ?XML瑙f???ㄨВ??(杩?涔???浠?DTD涓???灞?schema???規??????)锛?c:??DOM,SAX,STAX绛??

???DOM:澶???澶у????浠舵?跺?舵?ц?戒???????甯稿??瀹熾??杩?涓???棰?????OM????缁???????????锛?杩?绉?缁??????ㄧ????瀛?杈?澶?锛???涓?DOM蹇?椤誨?ㄨВ????浠朵??????翠釜??妗h??ュ??瀛?,????瀵?ML?????鴻?塊???

SAX:涓??頒?DOM,SAX??浜?浠堕┍?ㄥ????XML瑙f???瑰???瀹?椤哄?璇誨??XML??浠訛?涓???瑕?涓?娆″?ㄩ?ㄨ?杞芥?翠釜??浠躲??褰????闆????浠跺?澶達???妗g???锛???????绛懼?澶翠???绛劇????訛?瀹?浼?瑙???涓?涓?浜?浠訛??ㄦ?烽??杩??ㄥ?跺??璋?浜?浠朵腑???ュ???浠g???ュ???XML??浠訛?????瀵?ML??椤哄?璁塊???

???STAX:Streaming?API?for?XML?(StAX)?

9.?娴?琛???妗??朵??版????

1??璋?璋?浣?瀵?truts????瑙c??

绛?:?

1.?struts??涓?涓???MVC妯″?璁捐?$??Web灞?妗??訛??跺??瀹?灏辨??涓?涓?澶уぇ??servlet锛?杩?涓?Servlet??涓?ctionServlet锛?????ActionServlet??瀛?绫彙????浠???浠ュ??eb.xml??浠朵腑灏?绗?????绉??瑰???????璇鋒?浜ょ?杩?涓?Servlet澶???锛?杩?涓?Servlet?????т?涓???缃???浠訛???甯鎬負/WEB-INF/struts-config.xml锛?灏???涓?璇鋒?????????缁?涓?????action?誨?????

涓?涓??╁??ヨ???癸?struts????缃???浠跺??浠ユ??澶?涓?锛???浠ユ??妯″????缃?????????缃???浠訛?杩??峰??浠ラ?叉?㈤??缃???浠剁??杩?搴??ㄨ??锛?

2.?ActionServlet??璇鋒?浜ょ?action?誨???涔???锛?浼?灏?璇鋒????闆?瑁???涓?涓?formbean瀵矽薄锛?灏辨??涓?涓?java绫夥?杩?涓?绫諱腑??姣?涓?灞??у?瑰?涓?涓?璇鋒????幫?锛?灏?瑁???涓?涓?浠?涔??風??formbean瀵矽薄???????缃???浠躲??

3.瑕?璇存??????锛??ActionServlet??formbean瀵矽薄浼???缁?action??execute?規?涔???锛????戒?璋???ormbean??validate?規?杩?琛??¢??锛??????¢????杩?????灏?杩?涓?formbean瀵矽薄浼???缁?action??execute?規?锛?????锛?瀹?灏?杩???涓?涓???璇?椤甸???杩?涓???璇?椤甸?㈢??nput灞??ф??瀹?锛?锛?????缃???浠訛?浣???涓轟?涔?灏?杩????藉??涓?nput灞??э???涓???error灞??э???浠????㈢???瀹?????杩?琛?????杩?琛???????

4.action?ц?瀹???瑕?杩????劇ず??缁???瑙??撅?杩?涓?缁???瑙??炬???ㄤ?涓?ActionForward瀵矽薄?ヨ〃绀虹??锛?actionforward瀵矽薄??杩?struts-config.xml??缃???浠朵腑????缃??寵???版??涓?jsp椤甸?????涓虹?搴?涓?浣跨?ㄧ??????truts-config.xml??缃???浠朵負jsp椤甸?㈣?劇疆???昏???锛?杩??峰??浠ュ????ction绋?搴?浠g??涓?杩?????jsp椤甸?㈠??绉扮??瑙h????

浣?瀵?truts???借?????宸辯??搴??ㄦ?歸?㈢??缁?楠?锛??d?瑕?涓?骞惰?村?烘?ャ??

2??璋?璋?浣?瀵?ibernate????瑙c??

绛?:

1.??㈠??瀵矽薄璁捐?$??杞?浠跺???ㄨ?琛?杩?绋???浠ョ??瑙f??灏辨???ㄤ?????寤哄??绉??闆?矽薄??寤虹??瀵矽薄涔??寸???崇郴锛?璋??ㄥ?矽薄???規??ユ?瑰????涓?瀵矽薄???舵????瀵矽薄娑?浜$??杩?绋?锛?涓?绠$?搴?杩?琛???杩?绋?????浣???涔??鳳???璐ㄤ??芥??瑕?寰??頒?涓?缁???锛?绋?搴?涓?涓?涓??跺?誨??涓?涓?涓??跺?葷??杩?琛?缁?????宸?寮?灏辮〃?闆?ㄥ??瀛?涓???瀵矽薄?舵??????浜???????

2.涓轟??ㄥ?蟲?哄????瀛?绌洪?翠?澶????跺?典?锛?淇???绋?搴???杩?琛??舵??锛???瑕?灏???瀛?涓???瀵矽薄?舵??淇?瀛??版??涔???璁懼???浠???涔???璁懼?涓??㈠??哄?矽薄???舵??锛???甯擱?芥??淇?瀛??闆?崇郴?版??搴??ヤ?瀛?澶ч??瀵矽薄淇℃????浠?Java绋?搴???杩?琛????戒??ヨ?詫?淇?瀛?瀵矽薄?舵???????界?告??绯葷?杩?琛????朵????芥?ヨ?達?搴?璇ユ??涓?涓?寰?涓?璧風?肩????灞????斤?java????dbc?ュ???拌?涓????斤?杩?涓?涓?璧風?肩?????藉?磋?缂???澶ч????浠g??锛???????浜???浠?浠???淇?瀛?瀵矽薄???㈠?瀵矽薄锛?骞朵??d?澶ч????jdbc浠g??骞舵病??浠?涔?????????锛??烘??涓??????ㄤ?濂?渚?琛???浜???????浠g??妯℃?挎?ョ???锛???涓?绉???椿????澶??х??宸ヤ???

3.??杩??版??搴?淇?瀛?java绋?搴?杩?琛??朵駭????瀵矽薄???㈠?瀵矽薄锛??跺??灏辨??瀹??頒?java瀵矽薄涓??崇郴?版??搴?璁闆?????灏??崇郴锛?绉頒負ORM锛???bject?Relation?Mapping锛?锛?浜轟滑??浠ラ??杩?灏?瑁?JDBC浠g???ュ???頒?杩?绉????斤?灏?瑁??烘?ョ??浜у??绉頒?涓?RM妗??訛?Hibernate灏辨???朵腑??涓?绉?娴?琛?ORM妗??躲??浣跨??ibernate妗??訛?涓??ㄥ??JDBC浠g??锛?浠?浠???璋??ㄤ?涓?save?規?锛?灏卞??浠ュ?瀵矽薄淇?瀛??闆?崇郴?版??搴?涓?锛?浠?浠???璋??ㄤ?涓?get?規?锛?灏卞??浠ヤ??版??搴?涓???杞藉?轟?涓?瀵矽薄??

4.浣跨??ibernate???烘??娴?绋???锛???缃?Configuration瀵矽薄??浜х??SessionFactory????寤?ession瀵矽薄锛????ㄤ??★?瀹???CRUD??浣?锛???浜や??★??抽??session??

5.浣跨??ibernate?訛???瑕???缃?hibernate.cfg.xml??浠訛??朵腑??缃??版??搴?杩??ヤ俊?????矽?绛?锛?杩?瑕?涓烘??涓?瀹?浣???缃??稿???hbm.xml??浠訛?hibernate.cfg.xml??浠朵腑??瑕??昏?版??涓?hbm.xml??浠躲??

6.?ㄥ???ibernate?訛????矽?浜?瑙?ession??缂?瀛?????锛?绾ц??锛?寤惰???杞藉??hql?ヨ????

3??AOP??浣??ㄣ??

3??浣?瀵?pring????瑙c??

1.Spring瀹??頒?宸ュ??妯″???宸ュ??绫夥??ㄨ?????蹇?瑕?瑙i??娓?妤?浠?涔???宸ュ??妯″?锛?锛?杩?涓?绫誨??涓?eanFactory锛?瀹???涓???涓?涓??ュ?o?锛??ㄧ?搴?涓???甯?eanFactory??瀛?绫?pplicationContext??Spring?稿?浜?涓?涓?澶х??宸ュ??绫夥??ㄥ?堕??缃???浠朵腑??杩?<bean>??绱???缃??ㄤ???寤哄??渚?瀵矽薄??绫誨????瀹?渚?瀵矽薄??灞??с??

2.?Spring??渚?浜?瀵?OC??濂芥????锛?IOC??涓?绉?缂?绋????籌???涓?绉??舵???烘??锛??╃?ㄨ?绉????沖??浠ュ?濂藉?闆???版ā??涔??寸??瑙h????IOC涔?绉頒負DI锛?Depency?Injection锛?锛?浠?涔???渚?璧?娉ㄥ?ュ???

璀?濡?锛?Class?Programmer

{

Computer?computer?=?null;

public?void?code()

{

//Computer?computer?=?new?IBMComputer();

//Computer?computer?=?beanfacotry.getComputer();

computer.write();

}

public?void?setComputer(Computer?computer)

{

this.computer?=?computer;

}

}

???涓ょ??瑰??界?變?璧?锛?绗?涓?涓??存?ヤ?璧?浜?????绫夥?绗?浜?涓???渚?璧?杞?绉誨?闆伐??涓?锛?绗?涓?涓?褰誨?涓???????宸ュ??瑙h???????pring????缃???浠朵腑??缃???娈靛?涓?锛?

<bean?id=??computer???class=??cn.itcast.interview.Computer??>

</bean>

<bean?id=??programmer???class=??cn.itcast.interview.Programmer??>

<property?name=??computer????ref=??computer??></property>

</bean>

3.?Spring??渚?浜?瀵?OP????????濂藉?瑁?锛??AOP绉頒負?㈠?????㈢?绋?锛?灏辨??绯葷?涓???寰?澶???涓??稿共??绫葷???規?锛??ㄨ?浜?浼?澶??規?涓?瑕????ユ??绉?绯葷????界??浠g??锛?渚?濡?锛????ユ?ュ?锛????ユ?????ゆ??锛????ュ?甯稿???锛?杩?绉?搴??ㄧО涓?OP??瀹???OP???介???ㄧ????浠g??????锛?瀹㈡?風??绋?搴?涓???璋??ㄧ????锛???璋??ㄤ唬??绫夥?浠g??绫諱?????绫誨?瑰??鋒???稿?????規?澹版??锛???涓ょ??瑰???浠ュ???扮?稿?????規?澹版??锛?涓???瀹??扮?稿?????ュ?o?浜???浣?涓虹??????瀛?绫誨???JDK涓?????roxy绫諱駭???ㄦ??浠g?????瑰?涓烘??涓??ュ?g????瀹??扮被锛?濡???瑕?涓烘??涓?绫葷????瀛?绫夥?????浠ョ??GLI?B???ㄧ??????浠g??绫葷???規?涓????ョ郴缁????藉??璋??ㄧ????绫葷???稿??規?锛?绯葷????界??浠g??浠?dvice瀵矽薄杩?琛???渚?锛??劇?惰???寤哄?轟唬??瀵矽薄锛??沖???瑕?????绫誨??Advice绫彙??spring??渚?浜?杩?绉?????锛?????瑕???pring??缃???浠朵腑??缃?杩?涓や釜??绱??沖??瀹??頒唬????aop???斤?渚?濡?锛?

<bean?id=??proxy???type=??org.spring.framework.aop.ProxyBeanFactory??>

<property?name=??target???ref=????></property>

<property?name=??advisor???ref=????></property>

</bean>

11??璋?璋?Struts涓???Action?servlet??

12??Struts浼?缂虹?孤?

浼??癸??

?1.?瀹???VC妯″?锛?缁???娓???浣垮????????蟲敞涓??¢?昏???瀹???

2锛???涓闆????tag??浠ョ???,Struts????璁闆?(Taglib)锛?濡??界?墊椿?ㄧ??????藉ぇ澶ф??楂?寮???????

3.?椤甸?㈠?艱??

浣跨郴缁?????缁??村??娓??般????杩?涓?涓???缃???浠訛??沖?????℃?翠釜绯葷????ㄥ??涔??寸????绯夥?杩?瀵逛???????缁存?ゆ??????澶х??濂藉???灏ゅ?舵??褰?????瑰??????ユ??杩?涓?椤圭???訛?杩?绉?浼??誇??闆??村?????俱??

4.???渚?Exception澶????哄?堵?.?

5.??版??搴??炬?ユ?绠$???

6.?????I18N?

缂虹??

涓????杞??闆?绀哄??訛???瑕???缃?forward锛?濡???????涓?灞?绀哄???jsp锛???瑕???缃???娆?truts锛???涓?杩?涓????????跺????褰?????浠跺???達???瑕????頒慨??orward锛?娉ㄦ??锛?姣?娆′慨?歸??缃?涔???锛?瑕?姹????伴?ㄧ講?翠釜椤圭??锛???tomcate杩??風?????″???杩?蹇?椤婚???闆???ㄦ???″??

浜????浜????Struts???Action蹇?????thread锛?safe?瑰?锛?瀹?浠?浠???璁鎬?涓?瀹?渚??誨?????????璇鋒?????浠?ction?ㄥ?扮????????璧?婧??藉???缁?涓???姝ワ?杩?涓?灏卞?璧蜂?绾跨?瀹??ㄧ????棰???

涓?????娴?璇?涓??逛究.?Struts??姣?涓?Action?藉??Web灞??????ㄤ?璧鳳?杩??峰????娴?璇?渚?璧?浜?Web瀹瑰???????娴?璇?涔?寰??懼???般??涓?杩???涓?涓?Junit???╁?宸ュ??truts?TestCase??浠ュ???闆????????娴?璇????

??????绫誨????杞????Struts??FormBean?????????版???戒?涓?tring绫誨??锛?瀹???浠ヤ嬌?ㄥ伐??ommons-Beanutils杩?琛?绫誨??杞?????浣?瀹???杞????芥????lass绾у??锛???涓?杞?????绫誨????涓?????缃?????绫誨??杞????剁????璇?淇℃??杩???缁??ㄦ?蜂?????甯稿?伴?劇????

浜????瀵?ervlet??渚?璧??ц?寮??Struts澶???Action?跺???瑕?渚?璧?ServletRequest???ServletResponse锛?????瀹????變?浜?Servlet瀹瑰?ㄣ???

????????绔?琛ㄨ揪寮?璇?瑷??歸??Struts????浜?JSTL锛???浠ュ??涓昏?浣跨??STL??琛ㄨ揪寮?璇?瑷??ヨ?峰???版????????JSTL??琛ㄨ揪寮?璇?瑷???ollection??绱㈠?灞??ф?歸?㈠????懼?寰?寮便???

涓?????瀵?ction?ц????у?跺?伴???Struts??寤轟?涓?Action锛?濡????蟲?у?跺?????ц?椤哄?灏?浼???甯稿?伴?俱?????充?瑕????闆?誨??Servlet?ュ???頒???杩?涓????介??姹????

??????瀵?ction??ц?????????澶???.?Struts澶???Action???跺?????轟?class??hierarchies锛?寰??懼??ction澶?????????杩?琛???浣????

涔?????瀵逛?浠舵????涓?澶?.???truts涓?锛?瀹?????涓?涓?琛ㄥ??Form瀵瑰?涓?涓?Action绫???DispatchAction)锛?????ヨ??璇達???truts涓?瀹?????涓?涓?琛ㄥ?????鉸?瀵瑰?涓?涓?浜?浠訛?struts杩?绉?浜?浠舵?瑰?绉頒負application?event锛?application?event??component?event?告????涓?绉?绮?绮?搴???浜?浠?

119??STRUTS??搴???濡?STRUTS?舵??)?

Struts??????ava?Servlet/JavaServer?Pages????锛?寮???Web搴??ㄧ?搴???寮??炬?????framework???????truts?藉????哄?轟?MVC(Model-View-Controller)璁捐?℃ā寮???搴??ㄦ???躲???Struts??濡?涓???涓昏????斤??涓?.????涓?涓?controller?servlet锛??藉??ㄦ?風??璇鋒??????扮?稿???Action瀵矽薄???浜?.JSP????ag搴?锛?骞朵???ontroller?servlet涓???渚??寵??????锛?甯??╁???????寤轟氦浜?寮?琛ㄥ??搴??ㄣ???涓?.??渚?浜?涓?绯誨??瀹??ㄥ?矽薄锛?XML澶???????杩?Java?reflection?APIs???ㄥ???JavaBeans灞??с???介????????绀哄??娑?????

110??璇磋??truts1涓?struts2???哄????

1.?芥??MVC??WEB妗???

2?struts1??????妗??訛?搴??ㄥ?骞挎?锛???寰?濂界??缇や??虹?锛?浣跨?ㄥ??寮???椋??╁?灏?锛??????翠?锛?struts2?界?跺?轟?杩?涓?妗??訛?浣???搴??ㄧ兢浼?骞跺?锛??稿?逛?????锛????ョ??椋??╁??????寰?澶?锛?寮???浜哄???稿?逛?濂芥??锛?浣跨?ㄥ??寮???椤圭????椋??╃郴?版?村ぇ锛??ㄤ漢?????撮??锛?

3.struts2姣?绔???绔??ㄥ??杈????虹?璁捐?″?烘?ワ?瀹?浼??瑰????瀹???struts1涓???涓?浜?缂洪?鳳?struts1涓?涓?浜????????抽??棰???truts2寰??頒?瑙e?熾??

4.struts1????绔??у?跺?ㄦ??涓?涓?Servlet锛???绉頒負ActionServlet锛?struts2????绔??у?跺?ㄦ??涓?涓?filter锛???truts2.0涓???FilterDispatcher锛???truts2.1涓???StrutsPrepareAndExecuteFilter??

5.struts1??action??瑕?缁ф??ction绫夥?struts2??action??浠ヤ?缁ф?誇換浣?绫夥?struts1瀵瑰??涓?涓?璺?寰???????璇鋒??變韓涓?涓?Action瀹?渚?锛?struts2瀵瑰??涓?涓?璺?寰???姣?涓?璇鋒?????浣跨?ㄤ?涓???绔?Action瀹?渚?瀵矽薄锛?????瀵逛?struts2??Action涓??ㄨ????绾跨?瀹??ㄩ??棰???

6.??truts1涓?浣跨??ormbean灏?瑁?璇鋒????幫???truts2涓??存?ヤ嬌??ction??灞??ф?ュ?瑁?璇鋒????般??

7.struts1涓???澶?涓?涓??℃?規??懼?ㄤ?涓?Action涓??訛??崇戶??ispatchAction?訛?锛?瑕?涔??芥?¢??锛?瑕?涔??戒??¢??锛?瀵逛?struts2锛???浠ユ??瀹???瀵規??涓??規?杩?琛??¢??锛?褰?涓?涓?Action缁ф?誇?ActionSupport涓??ㄨ?涓?绫諱腑??缂???浜?validateXxx()?規?锛??d?????瀵?xx()?規?杩?琛??¢????

锛?涓?涓?璇鋒??ヤ????ц?娴?绋?杩?琛?????锛?struts2?????ㄦ??????妯″??寮???锛?骞跺??浠ヤ???妯″??璁劇疆涓?????url??缂?锛?杩?????杩?package??namespace?ュ???扮??锛?struts2??????澶?绉?绫誨????瑙??撅?struts2??瑙??懼?闆????浠ユ???ㄦ????锛??寵??劇????绉版???????????瑰???锛?涓句?锛?璁哄????甯?澶辮觸?????ヨ?瑕?浼???boardid??瑙??懼??瀹規?劇ず?歸???瀹?????绛劇??gnl锛?瑕?el寮哄ぇ寰?澶?锛??ㄥ?介?????歸?㈡??????妯″??绠$??锛?涓や釜妯″???ㄥ?闆???風??key锛?瀵瑰?涓?????娑???锛?锛?

涓?Struts1涓???锛?Struts2瀵圭?ㄦ?風??姣?涓?娆¤?鋒??戒???寤轟?涓?Action锛???浠?truts2涓???Action??绾跨?瀹??ㄧ????

缁????拌薄??娣卞?葷????锛?struts??缃???浠朵腑??redirect瑙??劇??url涓??芥?ュ?????幫???struts2??缃???浠朵腑??redirect瑙??懼??浠ユ?ュ?????般??

110??hibernate涓???update()??saveOrUpdate()???哄??锛?session??load()??get()???哄????

110??绠?杩奧?Hibernate????JDBC???浼?缂虹???濡?浣?涔???涓?涓??one?to?many???缃???浠?

7??iBatis涓?Hibernate??浠?涔?涓????

?稿???癸?灞???dbc?api??搴?灞?璁塊??缁???锛?浣跨?ㄦ??浠?涓??ㄤ?jdbc?api??浜ら??锛?灏卞??浠ヨ?塊???版????

jdbc?api缂?绋?娴?绋??哄??锛?杩?灏?sql璇??ヤ?java浠g??娣鋒???ㄤ?涓?璧鳳?缁?甯擱??瑕??煎??sql璇??ワ?缁???寰?绻?????

ibatis??濂藉?锛?灞???dbc?api??搴?灞?璁塊??缁???锛?灏?sql璇??ヤ?java浠g??杩?琛???绂???渚?浜?灏?缁????????ㄥ?瑁?绉頒負瀹?浣?瀵矽薄??瀵矽薄???????????斤?queryForList杩???瀵矽薄????锛???ueryForObject杩?????涓?瀵矽薄锛???渚?浜????ㄥ?瀹?浣?瀵矽薄??灞??т???缁?sql璇??ョ?????般??

Hibernate??涓?涓??ㄨ???ㄧ??orm??灏?宸ュ?鳳?瀹???浠ヨ???ㄧ????sql璇???ibatis??瑕???浠???宸卞??ml??缃???浠朵腑??sql璇??ワ?hibernate瑕?姣?ibatis???借?璐e??寮哄ぇ寰?澶?????涓?ibernate???ㄧ????sql璇??ワ???浠???娉??у?惰?ヨ???ワ???浠?灏辨??娉??誨???瑰????楂???????sql??瀵逛?涓?浜?涓?澶?澶?????sql?ヨ???hibernate??浠ュ?濂藉府??浠?瀹???锛?浣???锛?瀵逛??瑰??澶??????ヨ???hibernate灏卞??鵑??搴?浜?锛?杩??跺????batis灏辨??涓????????╋???涓?batis杩????辨??浠???宸卞??sql璇??ャ??

7????Hibernate??涓?瀵瑰???澶?瀵逛??????寵????orm??缃??

9??hibernate??inverse灞??х??浣???

瑙e?蟲?規?涓?锛?????bject[]?版?????烘?版??锛??跺????宸辯?bean

瑙e?蟲?規?浜?锛?瀵規??涓?琛ㄧ??bean???????芥?幫?姣?濡?琛ㄤ?瑕??ュ??ield1,field2涓や釜瀛?娈碉??d???涓?涓??????芥?闆氨??Bean(type1?filed1,type2?

field2)?锛??跺????ql???㈠氨??浠ョ?存?ョ????杩?涓?bean浜???

10????AO涓?濡?浣?浣???AO璁捐?℃ā寮??

瑙e?蟲?規?涓?锛?????bject[]?版?????烘?版??锛??跺????宸辯?bean

瑙e?蟲?規?浜?锛?瀵規??涓?琛ㄧ??bean???????芥?幫?姣?濡?琛ㄤ?瑕??ュ??ield1,field2涓や釜瀛?娈碉??d???涓?涓??????芥?闆氨??Bean(type1?filed1,type2?

field2)?锛??跺????ql???㈠氨??浠ョ?存?ョ????杩?涓?bean浜???

10??spring+Hibernate涓?濮????規???涔???缃??

瑙e?蟲?規?涓?锛?????bject[]?版?????烘?版??锛??跺????宸辯?bean

瑙e?蟲?規?浜?锛?瀵規??涓?琛ㄧ??bean???????芥?幫?姣?濡?琛ㄤ?瑕??ュ??ield1,field2涓や釜瀛?娈碉??d???涓?涓??????芥?闆氨??Bean(type1?filed1,type2?

field2)?锛??跺????ql???㈠氨??浠ョ?存?ョ????杩?涓?bean浜???

10??spring+Hibernate涓?濮????規???涔???缃??

瑙e?蟲?規?涓?锛?????bject[]?版?????烘?版??锛??跺????宸辯?bean

瑙e?蟲?規?浜?锛?瀵規??涓?琛ㄧ??bean???????芥?幫?姣?濡?琛ㄤ?瑕??ュ??ield1,field2涓や釜瀛?娈碉??d???涓?涓??????芥?闆氨??Bean(type1?filed1,type2?

field2)?锛??跺????ql???㈠氨??浠ョ?存?ョ????杩?涓?bean浜???

8.?hibernate杩?琛?澶?琛ㄦ?ヨ?㈡??涓?琛ㄤ腑??????涓?瀛?娈碉?涔?灏辨??璇存?ヨ?㈠?烘?ョ??缁?????娌℃??涓?涓?瀹?浣?绫諱?涔?瀵瑰?濡?浣?瑙e?籌??

瑙e?蟲?規?涓?锛?????bject[]?版?????烘?版??锛??跺????宸辯?bean

瑙e?蟲?規?浜?锛?瀵規??涓?琛ㄧ??bean???????芥?幫?姣?濡?琛ㄤ?瑕??ュ??ield1,field2涓や釜瀛?娈碉??d???涓?涓??????芥?闆氨??Bean(type1?filed1,type2?

field2)?锛??跺????ql???㈠氨??浠ョ?存?ョ????杩?涓?bean浜???

8.浠?缁?涓?涓?Hibernate??浜?绾х?瀛?

???т互涓???璺??ュ??绛?锛?锛?1锛?棣???璇存?妤?浠?涔???缂?瀛?锛?锛?2锛???璇存??浜?hibernate??Session灏辨??涓?绾х?瀛?锛??蟲??浜?涓?绾х?瀛?锛?涓轟?涔?杩?瑕???浜?绾х?瀛?锛?锛?3锛???????璇村?浣???缃?Hibernate??浜?绾х?瀛???

锛?1锛?缂?瀛?灏辨????浠ュ??浠??版??搴?涓??ヨ?㈠?烘?ュ??浣跨?ㄨ???瀵矽薄淇?瀛??ㄥ??瀛?涓?锛?涓?涓??版??缁???涓?锛?锛?杩?涓??版??缁?????甯告????绫諱技Hashmap锛?褰?浠ュ??瑕?浣跨?ㄦ??涓?瀵矽薄?訛????ヨ?㈢?瀛?涓???????杩?涓?瀵矽薄锛?濡???????浣跨?ㄧ?瀛?涓???瀵矽薄锛?濡???娌℃?????繪?ヨ?㈡?版??搴?锛?骞跺??ヨ?㈠?烘?ョ??瀵矽薄淇?瀛??ㄧ?瀛?涓?锛?浠ヤ究涓?娆′嬌?ㄣ??涓??㈡??缂?瀛???浼?浠g??锛?

寮???ibernate??绗?浜?绾х?瀛?锛??ㄤ??㈢??浼?浠g??????浜?Cache??瀹??闆????

Dao

{

hashmap?map?=?new?map();

User?getUser(integer?id)

{

User?user?=?map.get(id)

if(user?==?null)

{

user?=?session.get(id);

map.put(id,user);

}

return?user;

}

}

Dao

{

Cache?cache?=?null

setCache(Cache?cache)

{

this.cache?=?cache

}

User?getUser(int?id)

{

if(cache!=null)

{

User?user?=?cache.get(id);

if(user?==null)

{

user?=?session.get(id);

cache.put(id,user);

}

return?user;

}

return?session.get(id);

}

}

锛?2锛?Hibernate??Session灏辨??涓?绉?缂?瀛?锛???浠???甯稿?涔?绉頒負Hibernate??涓?绾х?瀛?锛?褰??充嬌??ession浠??版??搴?涓??ヨ?㈠?轟?涓?瀵矽薄?訛?Session涔?????浠???宸卞???ㄦ?ョ?????????ㄨ?涓?瀵矽薄锛?瀛??ㄥ???存?ヨ???锛?涓?瀛??ㄦ???昏?塊???版??搴?锛?骞跺??ヨ?㈢??缁???淇?瀛??ㄨ??宸卞???ㄣ???變?Session浠h〃涓?娆′?璇?杩?绋?锛?涓?涓?Session涓?涓?涓??版??搴?杩??ョ?稿?寵?锛???浠?ession??濂戒?瑕??挎?堕?翠?????寮?锛???甯鎬??ㄤ?涓?涓?浜??″?涓?锛??ㄤ??$????跺氨搴??抽????骞朵?Session??绾跨?涓?瀹??ㄧ??锛?琚?澶?涓?绾跨??變韓?跺?規???虹?伴??棰?????甯稿?????g??ㄥ???涔?涓???缂?瀛???????姝g??缂?瀛?搴????????杈?澶х??缂?瀛?浠峰?鹼???姝わ?Hibernate??Session杩?涓?绾х?瀛???缂?瀛?浣??ㄥ苟涓????撅?搴??ㄤ環?間?澶с??Hibernate??浜?绾х?瀛?灏辨??瑕?涓?ibernate??缃?涓?绉??ㄥ?缂?瀛?锛?璁╁?涓?绾跨???澶?涓?浜??¢?藉??浠ュ?變韓杩?涓?缂?瀛?????浠?甯???????涓?涓?浜轟嬌?ㄨ?锛??朵?浜轟???浠ヤ嬌???session娌℃??杩?绉???????

锛?3锛?浜?绾х?瀛?????绔?浜?Hibernate??杞?浠堕?ㄤ歡锛?灞?浜?绗?涓??圭??浜у??锛?澶?涓???????缁?缁??芥??渚???缂?瀛?浜у??锛?渚?濡?锛?EHCache??OSCache绛?绛?????ibernate涓?浣跨?ㄤ?绾х?瀛?锛?棣???灏辮???ibernate.cfg.xml??缃???浠朵腑??缃?浣跨?ㄥ??涓???瀹剁??缂?瀛?浜у??锛??ョ????瑕???缃?璇ョ?瀛?浜у????宸辯????缃???浠訛?????瑕???缃?Hibernate涓?????浜?瀹?浣?瀵矽薄瑕?绾沖?ュ?頒?绾х?瀛???绠$??涓??????戒?浜?绾х?瀛?????????浜?杩?涓???璺???锛?寰?瀹規????缃?璧?ibernate??浜?绾х?瀛????╁??ヨ??锛?涓?涓?SessionFactory??浠ュ?寵??涓?涓?浜?绾х?瀛?锛?涔??充?涓?浜?绾х?瀛????借?璐g?瀛?涓?涓??版??搴?涓????版??锛?褰?浣跨??ibernate???浜?绾х?瀛???锛?娉ㄦ??涓?瑕????朵???搴??ㄦ??SessionFactory?ユ?存?瑰????版??搴?涓????版??锛?杩??風?瀛????版??灏變?涓??版??搴?涓???瀹????版??涓?涓??淬???

111??Spring???渚?璧?娉ㄥ?ユ??浠?涔???????缁?涓?涓??Bean????message?灞????瀛?绗?覆绫誨??,?娉ㄥ?ュ?間負?"Hello"????XML???缃???浠惰?ユ??涔????

?

120??Jdo??浠?涔???

JDO??Java瀵矽薄??涔??????扮??瑙???锛?涓?ava?data?object??绠?绉?涔???涓?涓??ㄤ?瀛?????绉??版??浠?搴?涓???瀵矽薄????????API??JDO??渚?浜???????瀵矽薄瀛??????姝ゅ?瑰???浜哄???ヨ?達?瀛??ㄦ?版??瀵矽薄瀹??ㄤ???瑕?棰?澶???浠g??锛?濡?JDBC?API??浣跨?????杩?浜?绻?????渚?琛?宸ヤ?宸茬?杞?绉誨??DO浜у????渚???韬?涓?锛?浣垮???浜哄??瑙h?卞?烘?ワ?浠?????涓??堕?村??绮懼???ㄤ??¢?昏?涓??????锛?JDO寰??墊椿锛???涓哄????浠ュ?ㄤ換浣??版??搴?灞?涓?杩?琛???JDBC?????㈠???崇郴?版??搴?锛?RDBMS锛?JDO?撮???????渚??頒換浣??版??搴?灞???瀛??ㄥ???斤?姣?濡??崇郴?版??搴?????浠躲??XML浠ュ??瀵矽薄?版??搴?锛?ODBMS锛?绛?绛?锛?浣垮?搴??ㄥ??绉繪??ф?村己???

浠?涔???spring??IOC??AOP

STRUTS??宸ヤ?娴?绋?锛?

spring?涓?EJB???哄??锛?锛?

10.?杞?浠跺伐绋?涓?璁捐?℃ā寮?

111??UML?歸?⒙?

????寤烘ā璇?瑷?UML???ㄤ?????????????绫誨?俱??瀵矽薄?懼??????,琛?涓哄??浜や???椤哄?????浣???,瀹??闆?俱???

112.?杞?浠跺?????

92??j2ee甯哥?ㄧ??璁捐?℃ā寮?锛?璇存??宸ュ??妯″????

?誨??3绉?锛???涓轟?澶х被锛???寤哄??锛?缁?????锛?琛?涓哄??

????璁闆??朵腑甯哥?ㄧ??6??7绉?锛???????锛?

??寤哄??锛?宸ュ????宸ュ???規????借薄宸ュ??????渚?锛?

缁?????锛???瑁??????????缁???锛?浠g??锛?

琛?涓猴?瑙?瀵???锛?妯$??锛?绛??ワ?

?跺??????瀵逛???????妯″?璋?璋?浣?????瑙e?沖???????

Java涓???23绉?璁捐?℃ā寮?锛??

Factory锛?宸ュ??妯″?锛?锛???????Builder锛?寤洪??妯″?锛?锛????????Factory?Method锛?宸ュ???規?妯″?锛?锛??

Prototype锛???濮?妯″??妯″?锛?锛?Singleton锛???渚?妯″?锛?锛?????Facade锛??ㄩ?㈡ā寮?锛?锛??

Adapter锛??????ㄦā寮?锛?锛?????Bridge锛?妗ユ?妯″?锛?锛?????????Composite锛?????妯″?锛?锛??

Decorator锛?瑁?楗版ā寮?锛?锛?????Flyweight锛?浜???妯″?锛?锛??????Proxy锛?浠g??妯″?锛?锛??

Command锛??戒護妯″?锛?锛???????Interpreter锛?瑙i???ㄦā寮?锛?锛??Visitor锛?璁塊????妯″?锛?锛??

Iterator锛?杩?浠e??妯″?锛?锛????Mediator锛?璋?????妯″?锛?锛?????Memento锛?澶?蹇?褰?妯″?锛?锛??

Observer锛?瑙?瀵???妯″?锛?锛????State锛??舵??妯″?锛?锛??????????Strategy锛?绛??ユā寮?锛?锛??

Template?Method锛?妯℃?挎?規?妯″?锛?锛??Chain?Of?Responsibleity锛?璐d換?炬ā寮?锛??

宸ュ??妯″?锛?宸ュ??妯″???涓?绉?缁?甯歌?浣跨?ㄥ?扮??妯″?锛??規??宸ュ??妯″?瀹??扮??绫誨??浠ユ?規????渚????版??????涓?缁?绫諱腑??涓?涓?绫葷??瀹?渚?锛???甯歌?涓?缁?绫繪??涓?涓????辯???借薄?剁被骞朵?瀹??頒??稿?????規?锛?浣???杩?浜??規???瀵逛??????版??杩?琛?浜?涓???????浣???棣?????瑕?瀹?涔?涓?涓??虹被锛?璇ョ被??瀛?绫婚??杩?涓??????規?瀹??頒??虹被涓????規????跺????瑕?瀹?涔?涓?涓?宸ュ??绫夥?宸ュ??绫誨??浠ユ?規???′歡????涓?????瀛?绫誨??渚???褰?寰??闆??绫葷??瀹?渚???锛?寮???浜哄????浠ヨ??ㄥ?虹被涓????規???涓?蹇??????闆?杩?????????涓?涓?瀛?绫葷??瀹?渚????

113??寮???涓??界?ㄥ?頒??d?璁捐?℃ā寮???ㄥ?ㄤ?涔??哄????

姣?涓?妯″??芥??杩頒?涓?涓??ㄦ??浠?????澧?涓?涓????虹?扮????棰?锛??跺????杩頒?璇ラ??棰???瑙e?蟲?規????稿?????杩?杩?绉??瑰?锛?浣???浠ユ???版?″?頒嬌?ㄩ?d?宸叉????瑙e?蟲?規?锛??????ㄩ??澶??稿????宸ヤ???涓昏??ㄥ?頒?MVC??璁捐?℃ā寮????ㄦ?ュ???JSP/Servlet????J2EE???稿?沖??ㄣ??绠???宸ュ??妯″?绛????

11.?j2ee?ㄥ??

117??BS涓?CS????绯諱??哄?????

C/S??Client/Server??缂╁???????″?ㄩ??甯擱???ㄩ???ц?界??PC??宸ヤ?绔???灏????猴?骞堕???ㄥぇ???版??搴?绯葷?锛?濡?Oracle??Sybase??InFORMix???SQL?Server??瀹㈡?風????瑕?瀹?瑁?涓??ㄧ??瀹㈡?風??杞?浠躲???

B/锛蟲??Brower/Server??缂╁??锛?瀹㈡?鋒?轟???瑕?瀹?瑁?涓?涓?娴?瑙????Browser锛?锛?濡?Netscape?Navigator??Internet?Explorer锛????″?ㄥ??瑁?Oracle??Sybase??InFORMix???SQL?Server绛??版??搴????ㄨ?绉?缁???涓?锛??ㄦ?風???㈠???ㄩ??杩?WWW娴?瑙??ㄥ???幫?涓??ㄥ??浜??¢?昏??ㄥ??绔?瀹??幫?浣???涓昏?浜??¢?昏??ㄦ???″?ㄧ??瀹??般??娴?瑙??ㄩ??杩?锛?b?Server????版??搴?杩?琛??版??浜や????

C/S?涓??B/S??哄??锛??

锛?锛?纭?浠剁??澧?涓???:?

????C/S?涓???寤虹???ㄤ??ㄧ??缃?缁?涓?,?灏????撮????缃?缁???澧?,?灞???缃?涔??村????杩?涓??ㄦ???″?ㄦ??渚?杩??ュ???版??浜ゆ?㈡?????

????B/S?寤虹???ㄥ箍??缃?涔?涓???,?涓?蹇???涓??ㄧ??缃?缁?纭?浠剁??澧?,渚?涓??佃??涓?缃?,?绉??ㄨ?懼?.?淇℃????宸辯?$??.???姣?C/S?村己????搴??????涓?????瑕?????浣?绯葷???娴?瑙??ㄥ氨琛??

锛?锛?瀵瑰???ㄨ?姹?涓????

????C/S?涓????㈠???稿?瑰?哄?????ㄦ?風兢,?瀵逛俊??瀹??ㄧ???у?惰?藉??寰?寮??涓???楂?搴??哄????淇℃??绯葷?????/S?缁?????瀹?.???浠ラ??杩?B/S??甯??ㄥ??????寮?淇℃??.?

????B/S?寤虹???ㄥ箍??缃?涔?涓?,?瀵瑰???ㄧ???у?惰?藉???稿?瑰急,????介?㈠??涓????ョ???ㄦ?楓???

锛?锛?瀵圭?搴??舵??涓????

????C/S?绋?搴???浠ユ?村??娉ㄩ??娴?绋?,???浠ュ?規????澶?灞?娆℃?¢??,?瀵圭郴缁?杩?琛???搴???浠ヨ?灏?????.?

????B/S?瀵瑰???ㄤ互??璁塊????搴???澶?????????,?寤虹???ㄩ??瑕??村??浼??????虹?涔?涓?.?姣?C/S???撮????瑕?姹??B/S缁?????绋?搴??舵??????灞???瓒????浠?MS??.Net绯誨????BizTalk?2000?Exchange?2000绛?,??ㄩ?㈡????缃?缁?????浠舵??寤虹??绯葷?.?SUN???IBM?ㄧ??JavaBean???浠舵????绛?,浣柯?B/S?村??????.?

锛?锛?杞?浠堕???ㄤ????

????C/S?绋?搴???浠ヤ????垮?????翠??ц????,???浠剁?????ㄦ?т?濡???/S瑕?姹?涓?????浠剁?????ㄦ?уソ.?

????B/S?瀵圭??澶???缁???,瑕?姹???浠剁?稿?圭??绔?????????藉??稿?矽?濂界??????灏卞?ヤ拱?ョ??椁?妗???浠ュ???╃????涓??????ㄥ?涓????沖ご妗?瀛??

锛?锛?绯葷?缁存?や??????

????C/S?绋?搴??變??翠????蹇?椤繪?翠???瀵?,?澶????虹?扮????棰?浠ュ??绯葷???绾????绾ч??????芥??????涓?涓??ㄦ?扮??绯葷??

????B/S???浠剁???,?歸?㈡??浠朵釜?????存??瀹??扮郴缁?????缂???绾??绯葷?缁存?ゅ??????版??灏?.?ㄦ?蜂?缃?涓???宸變?杞藉??瑁?灏卞??浠ュ???闆??绾??

锛?锛?澶?????棰?涓????

????C/S?绋?搴???浠ュ????ㄦ?烽?㈠?哄??,?骞朵??ㄧ?稿???哄??,?瀹??ㄨ?姹?楂???姹?,?涓???浣?绯葷??稿???搴?璇ラ?芥???稿????绯葷??

????B/S?寤虹???ㄥ箍??缃?涓?,??㈠??涓??????ㄦ?風兢,????e?闆??,?杩???C/S??娉?浣??扮??.?涓???浣?绯葷?骞沖?闆?崇郴??灏?.?

锛?锛??ㄦ?鋒?ュ?d????

????C/S?澶???寤虹????Window骞沖?頒?,琛ㄧ?版?規?????,瀵圭?搴???????瑕?姹?杈?楂??

????B/S?寤虹???ㄦ?瑙??ㄤ?,????村??涓闆???????ㄧ??琛ㄧ?版?瑰?涓??ㄦ?蜂氦娴?.?骞朵?澶ч?ㄥ???懼害??浣?,??浣?寮???????.?

锛?锛?淇℃??娴?涓????

????C/S?绋?搴?涓??????稿????涓?澶????????烘?寮?澶???,?浜や??х?稿?逛??

????B/S?淇℃??娴?????????,?B-B?B-C?B-G绛?淇℃????娴?????????,??村??浜ゆ??涓?蹇????

2??搴??ㄦ???″?ㄤ?WEB?SERVER???哄??锛?

搴??ㄦ???″???Weblogic??Tomcat??Jboss?

WEB?SERVER锛?IIS???Apache?

32??搴??ㄦ???″?ㄦ???d?锛??

BEA?WebLogic?Server锛?IBM?WebSphere?Application?Server锛?Oracle9i?Application?Server锛?jBoss锛?Tomcat?

3??J2EE??浠?涔?锛??

绛?:Je22??Sun???告???虹??澶?灞?(multi-diered),??甯?寮?(distributed),?轟?缁?浠?component-base)??浼?涓?绾у??ㄦā??(enterpriese?application?model).?ㄨ??風??涓?涓?搴??ㄧ郴缁?涓?锛??????у???藉????涓轟?????缁?浠訛?杩?浜?缁?浠跺?????ㄤ???璁$???轟?锛?骞朵?澶?浜??稿???灞?娆?tier)涓?????灞?灞?娆″????瀹㈡?峰?(clietn?tier)缁?浠?web灞???缁?浠?Business灞???缁?浠?浼?涓?淇℃??绯葷?(EIS)灞???

涓?涓???被????绛?锛?j2ee灏辨??澧????規?ャ???

67??J2EE??????杩???骞沖?拌???妗??訛??浠?涔???J2EE

???J2EE??韬???涓?涓?????锛?涓?涓?涓轟?涓???甯?寮?搴??ㄧ??寮?????渚???????骞沖?般???

???J2EE涔???涓?涓?妗??訛?????JDBC??JNDI??RMI??JMS??EJB??JTA绛???????

95??璇峰?逛互涓???2EE涓?甯哥?ㄧ????璇?杩?琛?瑙i??(??绠?????杩??

web瀹瑰???缁?澶?浜??朵腑??搴??ㄧ?搴?缁?浠訛?JSP锛?SERVLET锛???渚?涓?涓???澧?锛?浣?SP,SERVLET?存?ユ?村?瑰?ㄤ腑????澧??????ュ?d氦浜?锛?涓?蹇??蟲敞?跺??绯葷???棰???涓昏???WEB???″?ㄦ?ュ???般??渚?濡?锛?TOMCAT,WEBLOGIC,WEBSPHERE绛???璇ュ?瑰?ㄦ??渚????ュ?d弗?奸?靛??J2EE瑙???涓???WEB?APPLICATION?????????浠????靛??浠ヤ???????WEB???″?ㄥ氨????J2EE涓???WEB瀹瑰?ㄣ???

EJB瀹瑰???Enterprise?java?bean?瀹瑰?ㄣ???村?鋒??琛?涓?棰????矽?層??浠???渚?缁?杩?琛??ㄥ?朵腑??缁?浠?JB??绉?绠$?????姐????瑕?婊¤凍J2EE瑙?????EJB?懼?ヨ?ュ?瑰???椹?涓?灏變?琚?瀹瑰?ㄨ?琛?楂???????绠$????骞朵???浠ラ??杩??版?????ュ?f?ヨ?峰?绯葷?绾у???????°??渚?濡???浠舵???°??浜??$?$?????

JNDI锛?锛?Java?Naming?&?Directory?Interface锛?JAVA?藉????褰????°??涓昏???渚??????芥??锛???渚?涓?涓???褰?绯葷?锛?璁╁?跺?????扮??搴??ㄧ?搴??ㄥ?朵??㈢??涓???宸辯??绱㈠?锛?浠???婊¤凍蹇????ユ?懼??瀹?浣???甯?寮?搴??ㄧ?搴??????姐???

JMS锛?锛?Java?Message?Service锛?JAVA娑??????°??涓昏?瀹??闆??涓?搴??ㄧ?搴?涔??寸????璁????????瑰?圭?瑰??骞挎?????

JTA锛?锛?Java?Transaction?API锛?JAVA浜??℃???°????渚???绉???甯?寮?浜??℃???°??搴??ㄧ?搴?????璋??ㄥ?舵??渚????ュ?e?沖?????

JAF锛?锛?Java?Action?FrameWork锛?JAVA瀹??ㄨ?よ??妗??躲????渚?涓?浜?瀹??ㄦ?у?舵?歸?㈢??妗??躲??璁╁???????杩???绉??ㄧ講????瀹?涔?瀹??拌??宸辯??涓??у???ㄦ?у?剁???ャ???

RMI/IIOP:锛?Remote?Method?Invocation?/internet瀵矽薄璇鋒?涓?浠???璁?锛?浠?浠?涓昏??ㄤ???杩?杩?绋?璋??ㄦ???°??渚?濡?锛?杩?绋???涓??拌?$???轟?杩?琛?涓?涓?绋?搴?锛?瀹???渚??$エ???????★???浠???浠ュ?ㄦ???拌?$???轟?瀹??闆?瑰?剁?存?ヨ??ㄣ??褰??惰???瑕???杩?涓?瀹???瑙??????藉?ㄥ?????绯葷?涔??磋?琛???淇°??RMI??JAVA?規??????

80??濡?浣?缁?weblogic??瀹?澶у?????瀛???

锛?杩?涓???棰?涓?浣??蜂???绛?锛????烘?ュ??????璇?璇昏?????戒????頒?涔???棰?锛?浣?涓???瑕??㈤??勘?幫?浠?涔??界簿????锛?

?ㄥ????eblogic??????涓?锛?浣?浜?????omian瀵瑰????″?ㄧ??褰?涓???startServerName锛?锛?澧???set?MEM_ARGS=-Xms32m?-Xmx200m锛???浠ヨ??存??灏???瀛?涓?2M锛???澶?00M?

81??濡?浣?璁懼????weblogic???????ㄦā寮?(寮???妯″?)涓?浜у????甯?妯″???

??浠ュ?ㄧ?$???у?跺?頒腑淇??瑰?瑰????″?ㄧ?????ㄦā寮?涓哄?????浜у??妯″?涔?涓???????淇??規???$?????ㄦ??浠舵????commenv??浠訛?澧???set?PRODUCTION_MODE=true???

82??濡?浣????ㄦ?朵???杈??ョ?ㄦ?峰??涓?瀵?????

淇??規???″???ㄦ??浠訛?澧????WLS_USER??WLS_PW椤廣??涔???浠ュ??oot.properties??浠朵腑澧?????瀵?杩????ㄦ?峰????瀵???.?

83????eblogic绠$???跺?頒腑瀵逛?涓?搴??ㄥ??(????璇存??涓?涓?缃?绔?,Domain)杩?琛?jms??ejb??杩??ユ?绛??稿?充俊??杩?琛???缃???,瀹???淇?瀛??ㄤ?涔???浠朵腑??

淇?瀛??ㄦ??omain??config.xml??浠朵腑锛?瀹??????″?ㄧ???稿???缃???浠躲???

84??璇磋??eblogic涓?涓?涓?Domain??缂虹????褰?缁????姣?濡?瑕?灏?涓?涓?绠?????helloWorld.jsp?懼?ヤ???褰?涓?,?剁???ㄦ?瑙??ㄤ?灏卞??????ttp://涓繪??绔??e??/helloword.jsp灏卞??浠ョ???拌?琛?缁???浜?????姣?濡?杩??朵腑?ㄥ?頒?涓?涓???宸卞????javaBean璇ュ?浣?????

Domain??褰????″?ㄧ??褰?applications锛?灏?搴??ㄧ??褰??懼?ㄦ?ょ??褰?涓?灏???浠ヤ?涓哄??ㄨ?塊??锛?濡?????Web搴????搴??ㄧ??褰???瑕?婊¤凍Web搴??ㄧ??褰?瑕?姹?锛?jsp??浠跺??浠ョ?存?ユ?懼?ㄥ??ㄧ??褰?涓?锛?Javabean??瑕??懼?ㄥ??ㄧ??褰???WEB-INF??褰???classes??褰?涓?锛?璁劇疆???″?ㄧ??缂虹??搴??ㄥ???浠ュ???闆?ㄦ?瑙??ㄤ?????杈??ュ??ㄥ?????

85????eblogic涓???甯?ejb??娑????闆??浜???缃???浠堵?

涓???绫誨????EJB娑???????缃???浠朵???锛??芥????扮????缃???浠跺????ejb-jar.xml,weblogic-ejb-jar.xmlCMP瀹?浣?Bean涓???杩???瑕?weblogic-cmp-rdbms-jar.xml?

86??濡?浣???eblogic涓?杩?琛?ssl??缃?涓?瀹㈡?風????璁よ????缃???璇磋??2ee(????)杩?琛?ssl????缃??

缂虹??瀹?瑁?涓?浣跨??emoIdentity.jks??DemoTrust.jks??KeyStore瀹???SL锛???瑕???缃????″?ㄤ嬌??nable?SSL锛???缃??剁???o??ㄤ駭??妯″?涓???瑕?浠?CA?峰??绉???瀵??ュ???闆??璇?涔????寤?dentity??trust?keystore锛?瑁?杞借?峰???瀵??ュ???闆??璇?涔?????浠ラ??缃?姝?SL杩??ユ??????杩????????????

87??濡?浣??ョ????eblogic涓?宸茬???甯???EJB??

??浠ヤ嬌?ㄧ?$???у?跺?幫??ㄥ????Deployment涓???浠ユ?ョ??????宸插??甯???EJB?

12.?ejb?ㄥ??

8??EJB???轟???浜?????瀹??扮??锛?骞惰?村??essionBean??EntityBean???哄??锛?StatefulBean??StatelessBean???哄?????

???EJB????Session?Bean??Entity?Bean??Message?Driven?Bean锛??轟?JNDI??RMI??JAT绛?????瀹??般???

SessionBean??2EE搴??ㄧ?搴?涓?琚??ㄦ?ュ????涓?浜????″?ㄧ????涓??℃??浣?锛?渚?濡?璁塊???版??搴???璋??ㄥ?朵?EJB缁?浠躲??EntityBean琚??ㄦ?ヤ唬琛ㄥ??ㄧ郴缁?涓??ㄥ?扮???版?????

瀵逛?瀹㈡?鋒?猴?SessionBean??涓?绉?????涔??у?矽薄锛?瀹?瀹??版??浜??ㄦ???″?ㄤ?杩?琛???涓??¢?昏????

瀵逛?瀹㈡?鋒?猴?EntityBean??涓?绉???涔??у?矽薄锛?瀹?浠h〃涓?涓?瀛??ㄥ?ㄦ??涔??у???ㄥ?ㄤ腑??瀹?浣???瀵矽薄瑙??撅?????涓?涓??辯?版??浼?涓?搴??ㄧ?搴?瀹??扮??瀹?浣????

Session?Bean?杩???浠ュ??缁???涓郝?Stateful?Session?Bean?涓??Stateless?Session?Bean?锛?杩?涓ょ????Session?Bean?藉??浠ュ?绯葷??昏??懼???method涔?涓??ц?锛?涓????????Stateful?Session?Bean???浠ヨ?闆??煎???????舵??锛???姝ら??甯告?ヨ?達?涓?涓?浣跨?ㄨ??浼???涓?涓??稿?瑰????Stateful?Session?Bean???瀹?浣???Stateless?Session?Bean??界?朵????昏?缁?浠訛?浣???浠??翠?璐?璐h?闆?浣跨?ㄨ???舵??锛?涔?灏辨??璇村?浣跨?ㄨ???煎???Stateless?Session?Bean????跺??锛?EJB?Container?骞朵?浼??懼?葷?瑰?????Stateless?Session?Bean???瀹?浣??ユ?ц?杩?涓??method???㈣?涔?锛?寰????芥?頒釜浣跨?ㄨ???ㄦ?ц???涓??Stateless?Session?Bean????methods??訛?浼?????涓?涓??Bean????Instance??ㄦ?ц???浠???瀛??歸?㈡?ョ??锛??Stateful?Session?Bean?涓??Stateless?Session?Bean?姣?杈?锛??Stateful?Session?Bean?浼?娑????J2EE?Server?杈?澶?????瀛?锛??惰???Stateful?Session?Bean???浼??垮?村?ㄤ?浠???浠ョ淮??浣跨?ㄨ?????舵?????

2??绠?瑕?璁蹭?涓??EJB????7?涓??Transaction?Level??

3??EJB涓?JAVA?BEAN???哄??锛??

Java?Bean?????澶??ㄧ??缁?浠訛?瀵?ava?Bean骞舵病??涓ユ?肩??瑙???锛???璁轟?璁詫?浠諱?涓?涓?Java绫婚?藉??浠ユ??涓?涓?Bean??浣???甯告???典?锛??變?Java?Bean??琚?瀹瑰?ㄦ????寤猴?濡?Tomcat锛???锛???浠?ava?Bean搴??鋒??涓?涓?????????????????锛???甯?ava?Bean杩?瑕?瀹???erializable?ュ?g?ㄤ?瀹???ean????涔??с??Java?Bean瀹???涓??稿?浜?寰?杞?COM妯″??涓??????拌?绋???COM缁?浠訛?瀹???涓??借?璺ㄨ?绋?璁塊??????Enterprise?Java?Bean??稿?浜?DCOM锛??沖??甯?寮?缁?浠躲??瀹????轟?Java??杩?绋??規?璋????RMI锛???????锛???浠?JB??浠ヨ?杩?绋?璁塊??锛?璺ㄨ?绋???璺ㄨ?$???猴???浣?EJB蹇?椤昏?甯?缃插?ㄨ?稿?Webspere??WebLogic杩??風??瀹瑰?ㄤ腑锛?EJB瀹㈡?蜂?涓??存?ヨ?塊????姝g??EJB缁?浠訛???????杩??跺?瑰?ㄨ?塊????EJB瀹瑰?ㄦ??EJB缁?浠剁??浠g??锛?EJB缁?浠剁?卞?瑰?ㄦ????寤哄??绠$????瀹㈡?烽??杩?瀹瑰?ㄦ?ヨ?塊????姝g??EJB缁?浠躲???

31??EJB????锛?SessionBean,EntityBean锛?璇村?轟?浠??????藉?ㄦ??锛???濡?浣?绠$??浜??$??锛??

SessionBean锛?Stateless?Session?Bean??????藉?ㄦ?????卞?瑰?ㄥ?沖????锛?褰?瀹㈡?鋒?哄???鴻?鋒?瑕?寤虹??涓?涓?Bean??瀹?渚??訛?EJB瀹瑰?ㄤ?涓?瀹?瑕???寤轟?涓??扮??Bean??瀹?渚?渚?瀹㈡?鋒?鴻??????????渚挎?句?涓??版????瀹?渚???渚?缁?瀹㈡?鋒?恒??褰?瀹㈡?鋒?虹??涓?娆¤??ㄤ?涓?Stateful?Session?Bean??訛?瀹瑰?ㄥ?椤葷???沖?ㄦ???″?ㄤ腑??寤轟?涓??扮??Bean瀹?渚?锛?骞跺?寵???闆?㈡?鋒?轟?锛?浠ュ??姝ゅ?㈡?鋒?鴻???tateful?Session?Bean????規??跺?瑰?ㄤ???璋??ㄥ??娲懼?頒?姝ゅ?㈡?鋒?虹?稿?寵????Bean瀹?渚????

EntityBean锛?Entity?Beans?藉??娲葷?稿?矽??跨???堕?達?骞朵??舵??????缁???????瑕??版??搴?涓????版??瀛????Entity?beans灏變??村??娲彙????涓??????у??ㄧ?搴????????¤?绋??ヨ?寸?????充嬌EJB瀹瑰?ㄥ穿婧?浜?锛?Entity?beans涔???瀛?娲葷????Entity?Beans???藉?ㄦ???藉?琚?瀹瑰?ㄦ?????Beans??宸辯?$?????

EJB??杩?浠ヤ?????绠$??瀹??★?瀵矽薄绠$??缁?缁?锛?OMG锛???瀵矽薄瀹??℃???★?OTS锛?锛?Sun?Microsystems??Transaction?Service锛?JTS锛???Java?Transaction?API锛?JTA锛?锛?寮???缁?锛?X/Open锛???XA?ュ?c???

73??EJB瀹瑰?ㄦ??渚??????÷?

涓昏???渚?澹版???ㄦ??绠$????浠g??浜х??????缁??х?$????瀹??ㄣ??浜??$?$????????骞跺??琛?绠$??绛????°??

77??EJB??婵?娲繪?哄?堵?

浠?tateful?Session?Bean?涓轟?锛???ache澶у??沖??浜???瀛?涓???浠ュ???跺???ㄧ??Bean瀹?渚????伴??锛??規??MRU??NRU绠?娉?锛?瀹?渚??ㄦ?娲誨???繪?娲葷?舵??涔??磋?绉夥?婵?娲繪?哄?舵??褰?瀹㈡?風??璋??ㄦ??涓?EJB瀹?渚?涓??℃?規??訛?濡???瀵瑰?EJB?Object???拌??宸辨病??缁?瀹?瀵瑰???Bean瀹?渚???浠??跺?繪?娲?ean瀛??ㄤ腑锛???杩?搴??????哄?跺???ㄥ??渚?锛???澶?锛?婵?娲夥?姝ゅ??渚????舵????杩???浼?璋??ㄥ?瑰???ejbActive??ejbPassivate?規????

78??EJB????绉?绫誨???

浼?璇?锛?Session锛?Bean?锛?瀹?浣?锛?Entity锛?Bean?娑???椹卞?ㄧ??锛?Message?Driven锛?Bean?

浼?璇?Bean??????涓烘???舵??锛?Stateful锛??????舵??锛?Stateless锛?涓ょ??

瀹?浣?Bean????涓?ean绠$??????缁??э?BMP锛???瀹瑰?ㄧ?$??????缁??э?CMP锛?涓ょ??

79??瀹㈡??绔?璋???JB瀵矽薄????涓??烘??姝ラ?ぢ?

璁劇疆JNDI???″伐??浠ュ??JNDI???″?闆??绯葷?灞??э??ユ??ome?ュ?o?浠?Home?ュ?h???reate?規???寤?emote?ュ?o???杩?Remote?ュ?h??ㄥ?朵??℃?規???

13.?webservice?ㄥ??

4??WEB?SERVICE??璇?瑙i????JSWDL寮???????浠?缁???JAXP??JAXM??瑙i????SOAP??UDDI,WSDL瑙i????

Web?ServiceWeb?Service???轟?缃?缁???????甯?寮???妯″????缁?浠訛?瀹??ц??瑰????浠誨?★??靛???蜂???????瑙???锛?杩?浜?瑙???浣垮?Web?Service?戒??朵??煎?圭??缁?浠惰?琛?浜???浣????

JAXP(Java?API?for?XML?Parsing)?瀹?涔?浜???ava涓?浣跨??OM,?SAX,?XSLT?????ㄧ???ュ?c??杩??峰?ㄤ???绋?搴?涓?浣???瑕?浣跨?ㄨ?浜????ㄧ???ュ?o?褰?浣???瑕??瑰???蜂???瀹??版?跺??涔?涓???瑕?淇??逛唬?????

JAXM(Java?API?for?XML?Messaging)???涓?OAP??淇℃??渚?璁塊???規???浼?杈??哄?剁??API???

WSDL??涓?绉??XML??煎?锛??ㄤ?灏?缃?缁????℃??杩頒負涓?缁?绔??癸?杩?浜?绔??瑰?瑰?????㈠????妗d俊?????㈠??杩?绋?淇℃????娑???杩?琛???浣???杩?绉??煎?棣???瀵規??浣???娑???杩?琛??借薄??杩幫??跺??灏??剁?瀹??闆?蜂???缃?缁???璁???娑????煎?涓?浠ュ??涔?绔??廣???稿?崇???蜂?绔??瑰?崇?????涓烘?借薄绔??癸????★????

SOAP?崇????瀵矽薄璁塊????璁?(Simple?Object?Access?Protocol)锛?瀹????ㄤ?浜ゆ??ML缂???淇℃????杞婚??绾у??璁????

UDDI?????????涓虹?靛?????″緩绔?????锛?UDDI??涓?濂??轟?Web??????甯?寮?????涓?eb?Service??渚?????淇℃??娉ㄥ??涓?蹇???瀹??版????瑙???锛????朵?????涓?缁?浣誇?涓??藉???韬???渚???Web?Service娉ㄥ??锛?浠ヤ嬌????浼?涓??藉????扮??璁塊????璁???瀹??版??????

88??CORBA??浠?涔???ㄩ????浠?涔???

CORBA??????????卞?矽薄璇鋒?浠g??缁???(Common?Object?Request?Broker?Architecture)锛??卞?矽薄绠$??缁?缁??(Object?Management?Group锛?缂╁??涓郝?OMG)????????瀹???缁??????ュ?e??涔?璇?瑷?(IDL),?璇?瑷?缁?瀹?(binding:涔?璇?涓鴻??缂?)????璁稿??ㄧ?搴??翠???浣?????璁?????剁????涓猴??ㄤ?????绋?搴?璁捐?¤??瑷?涔????ㄤ?????杩?绋?涓?杩?琛?锛?涓轟???????浣?绯葷?寮?????

14.?Linux

118??LINUX涓?绾跨?锛?GDI绫葷??瑙i?????

LINUX瀹??扮??灏辨???轟??稿?杞婚??绾ц?绋???"涓?瀵逛?"绾跨?妯″??锛?涓?涓?绾跨?瀹?浣?瀵瑰?涓?涓??稿?杞婚??绾ц?绋?锛???绾跨?涔??寸??绠$???ㄦ?稿??芥?闆?涓?瀹??般???

GDI绫諱負?懼??璁懼?缂?绋??ュ?g被搴????

15.???寰?绋???绯?娑???棰?

65????绉?浼?璇?璺?韪??????

浼?璇?浣??ㄥ??ServletsJSP?椤甸?㈡??杩奧?

page????浠h〃涓?涓?涓?椤甸?㈢?稿?崇??瀵矽薄??灞??с??涓?涓?椤甸?㈢?變?涓?缂?璇?濂界???Java?servlet?绫夥???浠ュ甫??浠諱????include???浠わ?浣???娌℃???include??ㄤ?锛?琛ㄧず??杩??㈠?????servlet???????琚?缂?璇????servlet????JSP?椤甸?⒙?

request????浠h〃涓??Web?瀹㈡?鋒?哄???虹??涓?涓?璇鋒??稿?崇??瀵矽薄??灞??с??涓?涓?璇鋒????借法瓒?澶?涓?椤甸???娑???澶?涓??Web?缁?浠訛??變??forward???浠ゅ???include??ㄤ????崇郴锛??

session????浠h〃涓??ㄤ???涓??Web?瀹㈡?鋒?虹??涓?涓??ㄦ?蜂?楠??稿?崇??瀵矽薄??灞??с??涓?涓??Web?浼?璇???浠ヤ?缁?甯鎬?璺ㄨ?澶?涓?瀹㈡?鋒?鴻?鋒??

application????浠h〃涓??翠釜?Web?搴??ㄧ?搴??稿?崇??瀵矽薄??灞??с??杩?瀹?璐ㄤ???璺ㄨ??翠釜?Web?搴??ㄧ?搴?锛?????澶?涓?椤甸????璇鋒???浼?璇???涓?涓??ㄥ?浣??ㄥ???

69??绠?杩伴?昏???浣?(&,|,^)涓??′歡??浣?(&&,||)???哄?????

?哄??涓昏?绛?涓ょ?癸?a.?′歡??浣????芥??浣?甯?灏?????,???昏???浣?涓?浠???浠ユ??浣?甯?灏???,??涓???浠ユ??浣??闆?煎???

b.?昏???浣?涓?浼?浜х????璺??

16.??朵?

1??璇風?ㄨ?辨??绠???浠?缁?涓?涓???宸?

4??WEB?SERVICE??璇?瑙i????JSWDL寮???????浠?缁???JAXP??JAXM??瑙i????SOAP??UDDI,WSDL瑙i????

2??璇鋒???http://tomcat.apache.org/?棣?椤電??杩?涓?娈佃???ㄤ腑??缈昏??涓?涓??

Apache?Tomcat?is?the?servlet?container?that?is?used?in?the?official?Reference?Implementation?for?the?Java?Servlet?and?JavaServer?Pages?technologies.?The?Java?Servlet?and?JavaServer?Pages?specifications?are?developed?by?Sun?under?the?Java?Community?Process.?

Apache?Tomcat?is?developed?in?an?open?and?participatory?environment?and?released?under?the?Apache?Software?License.?Apache?Tomcat?is?intended?to?be?a?collaboration?of?the?best-of-breed?developers?from?around?the?world.?We?invite?you?to?participate?in?this?open?development?project.?To?learn?more?about?getting?involved,?click?here.?

Apache?Tomcat?powers?numerous?large-scale,?mission-critical?web?applications?across?a?diverse?range?of?industries?and?organizations.?Some?of?these?users?and?their?stories?are?listed?on?the?PoweredBy?wiki?page.

3??缇?璧?杞?浠跺????AVA宸ョ?甯??佃???㈣??棰????

1.?Talk?about?overriding,?overloading.

2.?Talk?about?JAVA?design?patterns?you?known.

3.?Talk?about?the?difference?between?LinkList,?ArrayList?and?Victor.

4.?Talk?about?the?difference?between?an?Abstract?class?and?an?Interface.

5.?Class?a?=?new?Class();?Class?b?=?new?Class();

?if(a?==?b)?returns?true?or?false,?why?

6.?Why?we?use?StringBuffer?when?concatenating?strings?

7.?Try?to?explain?Singleton?to?us??Is?it?thread?safe??If?no,?how?to?make?it?thread?safe?

8.?Try?to?explain?Ioc?

9.?How?to?set?many-to-many?relationship?in?Hibernate?

10.?Talk?about?the?difference?between?INNER?JOIN?and?LFET?JOIN.

11.?Why?we?use?index?in?database??How?many?indexes?is?the?maximum?in?one?table?as?your?suggestion?

12.?When???Final???is?used?in?class,?method?and?property,?what?dose?it?mean?

13.?Do?you?have?any?experience?on?XML??Talk?about?any?XML?tool?you?used?,e.g.?JAXB,?JAXG.

14.?Do?you?have?any?experience?on?Linux?

15.?In?OOD?what?is?the?reason?when?you?create?a?Sequence?diagram??

Administrator?10:34:20

??1锛??????????哄??锛???涓?涓?64k??瀛?绗?覆锛????懼?闆??涓?锛?杩????懼?版??涓?锛?涓轟?涔?锛?

2锛?浠?涔??跺???ㄥ?版?ュ?o?浠?涔??跺???ㄥ?版?借薄绫夥?浜????哄??

3锛???涓?涓?100涓????扮?锛???杈規??涓や釜甯???澶???锛?濡?浣?璁捐?$??娉??懼?般??

4锛?璁捐?℃?版??搴??訛?n缁達?濡?浣?璁捐?°??

渚?濡?[??浠?[??甯?][缃???锛?杩???涓?缁村?崇郴锛?瀹???琛ㄤ?搴?璇ユ??涓?涓?锛?缃??ф??澶???寮??ㄥ??甯?锛???甯???澶???搴??ㄧ??浠斤?杩?涓?瑙?寰?灏辨??涓?灞???瑕???涓?澶????誨??ㄤ?灞???

繼續閱讀