? ???浠跺お?誇?锛????寸??浜?涓?涓??懼?ㄧ???浜?锛?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缁達?濡?浣?璁捐?°??
渚?濡?[??浠?[??甯?][缃???锛?杩???涓?缁村?崇郴锛?瀹???琛ㄤ?搴?璇ユ??涓?涓?锛?缃??ф??澶???寮??ㄥ??甯?锛???甯???澶???搴??ㄧ??浠斤?杩?涓?瑙?寰?灏辨??涓?灞???瑕???涓?澶????誨??ㄤ?灞???