锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲Av永久无码精品黑人,亚洲av午夜成人片精品网站,精品亚洲AV无码一区二区三区 http://m.tkk7.com/larry/hibernate銆乻pring銆亀ebwork銆乻truts銆丳ortal銆乤jax鎶鏈氦嫻?/description>zh-cn Tue, 13 May 2025 18:21:49 GMT Tue, 13 May 2025 18:21:49 GMT 60 Java涓娊璞$被鍜屾帴鍙g殑鍖哄埆 http://m.tkk7.com/larry/archive/2008/11/26/242753.htmllarryjava larryjava Wed, 26 Nov 2008 03:24:00 GMT http://m.tkk7.com/larry/archive/2008/11/26/242753.html http://m.tkk7.com/larry/comments/242753.html http://m.tkk7.com/larry/archive/2008/11/26/242753.html#Feedback 0 http://m.tkk7.com/larry/comments/commentRss/242753.html http://m.tkk7.com/larry/services/trackbacks/242753.html 銆銆鍦↗ava璇█涓紝 abstract class 鍜宨nterface 鏄敮鎸佹娊璞$被瀹氫箟鐨勪袱縐嶆満鍒躲傛鏄敱浜庤繖涓ょ鏈哄埗鐨勫瓨鍦紝鎵嶈祴浜堜簡Java寮哄ぇ鐨?闈㈠悜瀵硅薄鑳藉姏銆俛bstract class鍜宨nterface涔嬮棿鍦ㄥ浜庢娊璞$被瀹氫箟鐨勬敮鎸佹柟闈㈠叿鏈夊緢澶х殑鐩鎬技鎬э紝鐢氳嚦鍙互鐩鎬簰鏇挎崲錛屽洜姝ゅ緢澶氬紑鍙戣呭湪榪?琛屾娊璞$被瀹氫箟鏃跺浜巃bstract class鍜宨nterface鐨勯夋嫨鏄懼緱姣旇緝闅忔剰銆傚叾瀹烇紝涓よ呬箣闂磋繕鏄湁寰堝ぇ鐨勫尯鍒殑錛屽浜庡畠浠殑閫夋嫨鐢氳嚦鍙嶆槧鍑哄 浜庨棶棰橀鍩熸湰璐ㄧ殑鐞嗚В銆佸浜庤璁℃剰鍥劇殑鐞嗚В鏄惁姝g‘銆佸悎鐞嗐傛湰鏂囧皢瀵瑰畠浠箣闂寸殑鍖哄埆榪涜涓鐣墫鏋愶紝璇曞浘緇欏紑鍙戣呮彁渚涗竴涓湪浜岃呬箣闂磋繘琛岄夋嫨鐨勪緷鎹?
銆銆鐞嗚В鎶借薄綾?/strong>
銆銆abstract class鍜宨nterface鍦↗ava璇█涓兘鏄敤鏉ヨ繘琛屾娊璞$被錛堟湰鏂?涓殑鎶借薄綾誨茍闈炰粠abstract class緲昏瘧鑰屾潵錛屽畠琛ㄧず鐨勬槸涓涓娊璞′綋錛岃宎bstract class涓篔ava璇█涓敤浜庡畾涔夋娊璞$被鐨勪竴縐嶆柟娉曪紝 璇瘋鑰呮敞鎰忓尯鍒嗭級瀹氫箟鐨勶紝閭d箞浠涔堟槸鎶借薄綾伙紝浣跨敤鎶借薄綾昏兘涓烘垜浠甫鏉ヤ粈涔堝ソ澶勫憿錛?/p>
銆銆鍦?闈㈠悜瀵硅薄鐨勬蹇典腑錛屾垜浠煡閬撴墍鏈夌殑瀵硅薄閮芥槸閫氳繃綾繪潵鎻忕粯鐨勶紝浣嗘槸鍙嶈繃鏉ュ嵈涓嶆槸榪欐牱銆傚茍涓嶆槸 鎵鏈夌殑綾婚兘鏄敤鏉ユ弿緇樺璞$殑錛屽鏋滀竴涓被涓病鏈夊寘鍚凍澶熺殑淇℃伅鏉ユ弿緇樹竴涓叿浣撶殑瀵硅薄錛岃繖鏍風殑綾誨氨鏄娊璞$被銆傛娊璞$被寰寰鐢ㄦ潵琛ㄥ緛鎴戜滑鍦ㄥ闂棰嗗煙榪涜鍒嗘瀽銆?璁捐涓緱鍑虹殑鎶借薄姒傚康錛屾槸瀵逛竴緋誨垪鐪嬩笂鍘諱笉鍚岋紝浣嗘槸鏈川涓婄浉鍚岀殑鍏蜂綋姒傚康鐨勬娊璞°傛瘮濡傦細濡傛灉鎴戜滑榪涜涓涓浘褰㈢紪杈戣蔣浠剁殑寮鍙戯紝灝變細鍙戠幇闂棰嗗煙瀛樺湪鐫鍦嗐?涓夎褰㈣繖鏍蜂竴浜涘叿浣撴蹇碉紝瀹冧滑鏄笉鍚岀殑錛屼絾鏄畠浠張閮藉睘浜庡艦鐘惰繖鏍蜂竴涓蹇碉紝褰㈢姸榪欎釜姒傚康鍦ㄩ棶棰橀鍩熸槸涓嶅瓨鍦ㄧ殑錛屽畠?yōu)鏄竴涓娊璞℃蹇點傛鏄洜涓烘娊璞$殑姒傚康 鍦ㄩ棶棰橀鍩熸病鏈夊搴旂殑鍏蜂綋姒傚康錛屾墍浠ョ敤浠ヨ〃寰佹娊璞℃蹇電殑鎶借薄綾繪槸涓嶈兘澶熷疄渚嬪寲鐨勩?/p>
銆銆鍦ㄩ潰鍚戝璞¢鍩燂紝鎶借薄綾諱富瑕佺敤鏉ヨ繘琛岀被鍨嬮殣钘忋?鎴戜滑鍙互鏋勯犲嚭涓涓浐瀹氱殑涓緇勮涓虹殑鎶借薄鎻?榪幫紝浣嗘槸榪欑粍琛屼負鍗磋兘澶熸湁浠繪剰涓彲鑳界殑鍏蜂綋瀹炵幇鏂瑰紡銆傝繖涓娊璞℃弿榪板氨鏄娊璞$被錛岃岃繖涓緇勪換鎰忎釜鍙兘鐨勫叿浣撳疄鐜板垯琛ㄧ幇涓烘墍鏈夊彲鑳界殑媧劇敓綾匯傛ā鍧楀彲浠ユ搷浣滀竴涓?鎶借薄浣撱傜敱浜庢ā鍧椾緷璧栦簬涓涓浐瀹氱殑鎶借薄浣擄紝鍥犳瀹冨彲浠ユ槸涓嶅厑璁鎬慨鏀圭殑錛涘悓鏃訛紝閫氳繃浠庤繖涓娊璞′綋媧劇敓錛屼篃鍙墿灞曟妯″潡鐨勮涓哄姛鑳姐傜啛鎮(zhèn)塐CP鐨勮鑰呬竴瀹氱煡 閬擄紝涓轟簡鑳藉瀹炵幇闈㈠悜瀵硅薄璁捐鐨勪竴涓渶鏍稿績鐨勫師鍒橭CP(Open-Closed Principle)錛屾娊璞$被鏄叾涓殑鍏抽敭鎵鍦ㄣ?/p>
銆銆浠庤娉曞畾涔夊眰闈㈢湅abstract class 鍜?interface
銆銆鍦ㄨ娉曞眰闈紝Java璇█瀵逛簬abstract class鍜宨nterface緇欏嚭浜嗕笉鍚岀殑瀹氫箟鏂瑰紡錛屼笅闈互瀹氫箟涓涓悕涓篋emo鐨勬娊璞$被涓轟緥鏉ヨ鏄庤繖縐嶄笉鍚屻?/p>
銆銆浣跨敤abstract class鐨勬柟寮忓畾涔塂emo鎶借薄綾葷殑鏂瑰紡濡備笅錛?/p>
abstract class Demo锝?br />
abstract void method1();
abstract void method2();
…
锝?br />
銆銆浣跨敤interface鐨勬柟寮忓畾涔塂emo鎶借薄綾葷殑鏂瑰紡濡備笅錛?/p>
interface Demo{
void method1();
void method2();
…
}
銆銆鍦╝bstract class鏂瑰紡涓紝Demo鍙互鏈夎嚜宸辯殑鏁版嵁鎴愬憳錛屼篃鍙互鏈夐潪 abstract鐨勬垚鍛樻柟娉曪紝鑰屽湪interface鏂瑰紡鐨勫疄鐜頒腑錛孌emo鍙兘澶熸湁闈欐佺殑涓嶈兘琚慨鏀圭殑鏁版嵁鎴愬憳錛堜篃灝辨槸蹇呴』鏄痵tatic final 鐨勶紝涓嶈繃鍦╥nterface涓竴鑸笉瀹氫箟鏁版嵁鎴愬憳錛夛紝鎵鏈夌殑鎴愬憳鏂規(guī)硶閮芥槸abstract鐨勩備粠鏌愮鎰忎箟涓婅錛宨nterface鏄竴縐嶇壒孌婂艦寮忕殑 abstract class銆?/p>
銆銆浠庣紪紼嬬殑瑙掑害鏉ョ湅錛宎bstract class鍜宨nterface閮藉彲浠ョ敤鏉ュ疄鐜?"design by contract" 鐨勬濇兂銆備絾鏄湪鍏蜂綋鐨勪嬌鐢ㄤ笂闈㈣繕鏄湁涓浜涘尯鍒殑銆?/p>
銆銆棣栧厛錛宎bstract class 鍦?Java 璇█涓〃紺虹殑鏄竴縐嶇戶鎵垮叧緋伙紝涓涓被鍙兘浣跨敤涓嬈$戶鎵垮叧緋?鍥犱負Java涓嶆敮鎸佸緇ф壙 -- 杞敞)銆備絾鏄紝涓涓被鍗村彲浠ュ疄鐜板涓猧nterface銆備篃璁革紝榪欐槸Java璇█鐨勮璁¤呭湪鑰冭檻Java瀵逛簬澶氶噸緇ф壙鐨勬敮鎸佹柟闈㈢殑涓縐嶆姌涓冭檻鍚с?/p>
銆銆鍏舵錛屽湪abstract class鐨勫畾涔変腑錛屾垜浠彲浠ヨ祴浜堟柟娉曠殑榛樿琛屼負銆備絾鏄湪interface鐨勫畾涔変腑錛屾柟娉曞嵈涓嶈兘鎷ユ湁榛樿琛屼負錛屼負浜嗙粫榪囪繖涓檺鍒訛紝蹇呴』浣跨敤濮旀墭錛屼絾鏄繖浼氬鍔犱竴浜涘鏉傛э紝鏈夋椂浼氶犳垚寰堝ぇ鐨勯夯鐑︺?/p>
銆銆鍦?鎶借薄綾諱腑涓嶈兘瀹氫箟榛樿琛屼負榪樺瓨鍦ㄥ彟涓涓瘮杈冧弗閲嶇殑闂錛岄偅灝辨槸鍙兘浼氶犳垚緇存姢涓婄殑楹葷儲銆傚洜 涓哄鏋滃悗鏉ユ兂淇敼綾葷殑鐣岄潰錛堜竴鑸氳繃 abstract class 鎴栬卛nterface鏉ヨ〃紺猴級浠ラ傚簲鏂扮殑鎯呭喌錛堟瘮濡傦紝娣誨姞鏂扮殑鏂規(guī)硶鎴栬呯粰宸茬敤鐨勬柟娉曚腑娣?鍔犳柊鐨勫弬鏁幫級鏃訛紝灝變細闈炲父鐨勯夯鐑︼紝鍙兘瑕佽姳璐瑰緢澶氱殑鏃墮棿錛堝浜庢淳鐢熺被寰堝鐨勬儏鍐碉紝灝や負濡傛錛夈備絾鏄鏋滅晫闈㈡槸閫氳繃abstract class鏉ュ疄鐜扮殑錛岄偅 涔堝彲鑳藉氨鍙渶瑕佷慨鏀瑰畾涔夊湪abstract class涓殑榛樿琛屼負灝卞彲浠ヤ簡銆?/p>
銆銆鍚屾牱錛屽鏋滀笉鑳藉湪鎶借薄綾諱腑瀹氫箟榛樿琛屼負錛屽氨浼氬鑷村悓鏍風殑鏂規(guī)硶瀹炵幇鍑虹幇鍦ㄨ鎶借薄綾葷殑姣忎竴涓淳鐢熺被涓紝榪濆弽浜?"one rule錛宱ne place" 鍘熷垯錛岄犳垚浠g爜閲嶅錛屽悓鏍蜂笉鍒╀簬浠ュ悗鐨勭淮鎶ゃ傚洜姝わ紝鍦╝bstract class鍜宨nterface闂磋繘琛岄夋嫨鏃惰闈炲父鐨勫皬蹇冦?/p>
銆銆浠庤璁$悊蹇靛眰闈㈢湅 abstract class 鍜?interface
銆銆涓婇潰涓昏浠庤娉曞畾涔夊拰緙栫▼鐨勮搴﹁榪頒簡abstract class鍜宨nterface鐨勫尯 鍒紝榪欎簺灞傞潰鐨勫尯鍒槸姣旇緝浣庡眰嬈$殑銆侀潪鏈川鐨勩傛湰灝忚妭灝嗕粠鍙︿竴涓眰闈細abstract class鍜宨nterface鎵鍙嶆槧鍑虹殑璁捐鐞嗗康錛屾潵鍒嗘瀽涓涓嬩簩鑰呯殑鍖哄埆銆備綔鑰呰涓猴紝浠庤繖涓眰闈㈣繘琛屽垎鏋愭墠鑳界悊瑙d簩鑰呮蹇電殑鏈川鎵鍦ㄣ?/p>
銆銆鍓嶉潰宸茬粡鎻愬埌榪囷紝abstract class鍦↗ava璇█涓綋鐜頒簡涓縐嶇戶鎵垮叧緋伙紝瑕佹兂浣垮緱 緇ф壙鍏崇郴鍚堢悊錛岀埗綾誨拰媧劇敓綾諱箣闂村繀欏誨瓨鍦?is-a"鍏崇郴錛屽嵆鐖剁被鍜屾淳鐢熺被鍦ㄦ蹇墊湰璐ㄤ笂搴旇鏄浉鍚岀殑銆傚浜巌nterface鏉ヨ鍒欎笉鐒訛紝騫朵笉瑕佹眰interface鐨勫疄鐜拌呭拰interface瀹氫箟鍦ㄦ蹇墊湰璐ㄤ笂鏄竴鑷寸殑錛?浠呬粎鏄疄鐜頒簡interface瀹氫箟鐨勫綰﹁屽凡銆備負浜嗕嬌璁鴻堪渚夸簬鐞嗚В錛屼笅闈㈠皢閫氳繃涓涓畝鍗曠殑瀹炰緥榪涜璇存槑銆?/p>
銆銆鑰冭檻榪欐牱涓涓緥瀛愶紝鍋囪鍦ㄦ垜浠殑闂棰嗗煙涓湁涓涓叧浜嶥oor鐨勬娊璞℃蹇碉紝璇oor鍏鋒湁鎵ц涓や釜鍔ㄤ綔open鍜宑lose錛屾鏃舵垜浠彲浠ラ氳繃abstract class鎴栬卛nterface鏉ュ畾涔変竴涓〃紺鴻鎶借薄姒傚康鐨勭被鍨嬶紝瀹氫箟鏂瑰紡鍒嗗埆濡備笅鎵紺猴細
銆銆浣跨敤abstract class鏂瑰紡瀹氫箟Door錛?/p>
abstract class Door{
abstract void open();
abstract void close()錛?br />
}
銆銆浣跨敤interface鏂瑰紡瀹氫箟Door錛?/p>
interface Door{
void open();
void close();
}
銆銆鍏朵粬鍏蜂綋鐨凞oor綾誨瀷鍙互extends浣跨敤abstract class鏂瑰紡瀹氫箟鐨凞oor鎴栬卛mplements浣跨敤interface鏂瑰紡瀹氫箟鐨凞oor銆傜湅璧鋒潵濂藉儚浣跨敤abstract class鍜宨nterface娌℃湁澶х殑鍖哄埆銆?/p>
銆銆濡傛灉鐜板湪瑕佹眰Door榪樿鍏鋒湁鎶ヨ鐨勫姛鑳姐傛垜浠濡備綍璁捐閽堝璇ヤ緥瀛愮殑綾葷粨鏋勫憿錛堝湪鏈緥涓紝 涓昏鏄負浜嗗睍紺?abstract class 鍜宨nterface 鍙嶆槧鍦ㄨ璁$悊蹇典笂鐨勫尯鍒紝鍏朵粬鏂歸潰鏃犲叧鐨勯棶棰橀兘鍋氫簡綆鍖栨垨鑰呭拷鐣ワ級錛熶笅闈㈠皢緗楀垪鍑哄彲鑳界殑瑙?鍐蟲柟妗堬紝騫朵粠璁捐鐞嗗康灞傞潰瀵硅繖浜涗笉鍚岀殑鏂規(guī)榪涜鍒嗘瀽銆?/p>
銆銆瑙e喅鏂規(guī)涓錛?/strong>
銆銆綆鍗曠殑鍦―oor鐨勫畾涔変腑澧炲姞涓涓猘larm鏂規(guī)硶錛屽涓嬶細
abstract class Door{
abstract void open();
abstract void close()錛?br />
abstract void alarm();
}
銆銆鎴栬?/p>
interface Door{
void open();
void close();
void alarm();
}
銆銆閭d箞鍏鋒湁鎶ヨ鍔熻兘鐨凙larmDoor鐨勫畾涔夋柟寮忓涓嬶細
class AlarmDoor extends Door{
void open(){…}
void close(){…}
void alarm(){…}
}
銆銆鎴栬?/p>
class AlarmDoor implements Door锝?br />
void open(){…}
void close(){…}
void alarm(){…}
锝?br />
銆銆榪欑鏂規(guī)硶榪濆弽浜嗛潰鍚戝璞¤璁′腑鐨勪竴涓牳蹇冨師鍒?ISP (Interface Segregation Principle)錛屽湪Door鐨勫畾涔変腑鎶奃oor姒傚康鏈韓鍥烘湁鐨勮涓烘柟娉曞拰鍙﹀涓涓蹇?鎶ヨ鍣?鐨勮涓烘柟 娉曟販鍦ㄤ簡涓璧楓傝繖鏍峰紩璧風殑涓涓棶棰樻槸閭d簺浠呬粎渚濊禆浜嶥oor榪欎釜姒傚康鐨勬ā鍧椾細鍥犱負"鎶ヨ鍣?榪欎釜姒傚康鐨勬敼鍙橈紙姣斿錛氫慨鏀筧larm鏂規(guī)硶鐨勫弬鏁幫級鑰屾敼鍙橈紝鍙?涔嬩緷鐒躲?/p>
銆銆瑙e喅鏂規(guī)浜岋細
銆銆鏃㈢劧open銆乧lose鍜宎larm灞炰簬涓や釜涓嶅悓鐨勬蹇碉紝鏍規(guī)嵁ISP鍘熷垯搴旇鎶婂畠浠垎鍒畾 涔夊湪浠h〃榪欎袱涓蹇電殑鎶借薄綾諱腑銆傚畾涔夋柟寮忔湁錛氳繖涓や釜姒傚康閮戒嬌鐢?abstract class 鏂瑰紡瀹氫箟錛涗袱涓蹇甸兘浣跨敤interface鏂瑰紡瀹氫箟錛涗竴涓蹇?浣跨敤 abstract class 鏂瑰紡瀹氫箟錛屽彟涓涓蹇典嬌鐢╥nterface鏂瑰紡瀹氫箟銆?/p>
銆銆鏄劇劧錛岀敱浜嶫ava璇█涓嶆敮鎸佸閲嶇戶鎵匡紝鎵浠ヤ袱涓蹇甸兘浣跨敤abstract class鏂瑰紡瀹氫箟鏄笉鍙鐨勩傚悗闈袱縐嶆柟寮忛兘鏄彲琛岀殑錛屼絾鏄浜庡畠浠殑閫夋嫨鍗村弽鏄犲嚭瀵逛簬闂棰嗗煙涓殑姒傚康鏈川鐨勭悊瑙c佸浜庤璁℃剰鍥劇殑鍙嶆槧鏄惁姝g‘銆佸悎鐞嗐傛垜浠竴涓鏉ュ垎鏋愩佽鏄庛?/p>
銆銆濡傛灉涓や釜姒傚康閮戒嬌鐢╥nterface鏂瑰紡鏉ュ畾涔夛紝閭d箞灝卞弽鏄犲嚭涓や釜闂錛?銆佹垜浠彲鑳芥病鏈?鐞嗚В娓呮闂棰嗗煙錛孉larmDoor鍦ㄦ蹇墊湰璐ㄤ笂鍒板簳鏄疍oor榪樻槸鎶ヨ鍣紵2銆佸鏋滄垜浠浜庨棶棰橀鍩熺殑鐞嗚В娌℃湁闂錛屾瘮濡傦細鎴戜滑閫氳繃瀵逛簬闂棰嗗煙鐨勫垎 鏋愬彂鐜癆larmDoor鍦ㄦ蹇墊湰璐ㄤ笂鍜孌oor鏄竴鑷寸殑錛岄偅涔堟垜浠湪瀹炵幇鏃跺氨娌℃湁鑳藉姝g‘鐨勬彮紺烘垜浠殑璁捐鎰忓浘錛屽洜涓哄湪榪欎袱涓蹇電殑瀹氫箟涓婏紙鍧囦嬌鐢?interface鏂瑰紡瀹氫箟錛夊弽鏄犱笉鍑轟笂榪板惈涔夈?/p>
銆銆濡傛灉鎴戜滑瀵逛簬闂棰嗗煙鐨勭悊瑙f槸錛欰larmDoor鍦ㄦ蹇墊湰璐ㄤ笂鏄疍oor錛屽悓鏃跺畠鏈夊叿鏈夋姤 璀︾殑鍔熻兘銆傛垜浠濡備綍鏉ヨ璁°佸疄鐜版潵鏄庣‘鐨勫弽鏄犲嚭鎴戜滑鐨勬剰鎬濆憿錛熷墠闈㈠凡緇忚榪囷紝abstract class鍦↗ava璇█涓〃紺轟竴縐嶇戶鎵垮叧緋伙紝鑰岀戶鎵垮叧緋?鍦ㄦ湰璐ㄤ笂鏄?is-a"鍏崇郴銆傛墍浠ュ浜嶥oor榪欎釜姒傚康錛屾垜浠簲璇ヤ嬌鐢╝bstarct class鏂瑰紡鏉ュ畾涔夈傚彟澶栵紝AlarmDoor鍙堝叿鏈夋姤璀﹀姛鑳斤紝璇?鏄庡畠鍙堣兘澶熷畬鎴愭姤璀︽蹇典腑瀹氫箟鐨勮涓猴紝鎵浠ユ姤璀︽蹇靛彲浠ラ氳繃interface鏂瑰紡瀹氫箟銆傚涓嬫墍紺猴細
abstract class Door{
abstract void open();
abstract void close()錛?br />
}
interface Alarm{
void alarm();
}
class Alarm Door extends Door implements Alarm{
void open(){…}
void close(){…}
void alarm(){…}
}
銆銆榪欑瀹炵幇鏂瑰紡鍩烘湰涓婅兘澶熸槑紜殑鍙嶆槧鍑烘垜浠浜庨棶棰橀鍩熺殑鐞嗚В錛屾紜殑鎻ず鎴戜滑鐨勮璁℃剰鍥俱傚叾 瀹瀉bstract class琛ㄧず鐨勬槸"is-a"鍏崇郴錛宨nterface琛ㄧず鐨勬槸"like-a"鍏崇郴錛屽ぇ瀹跺湪閫夋嫨鏃跺彲浠ヤ綔涓轟竴涓緷鎹紝褰撶劧榪欐槸寤虹珛鍦ㄥ闂棰嗗煙鐨勭悊瑙d笂鐨勶紝姣斿錛氬鏋滄垜浠涓篈larmDoor鍦ㄦ蹇墊湰璐ㄤ笂鏄姤璀﹀櫒錛屽悓鏃跺張鍏鋒湁Door鐨勫姛鑳斤紝閭d箞涓婅堪鐨勫畾涔夋柟寮忓氨瑕佸弽榪囨潵浜嗐?/p>
銆銆灝忕粨
銆銆1.abstract class 鍦?Java 璇█涓〃紺虹殑鏄竴縐嶇戶鎵垮叧緋伙紝涓涓被鍙兘浣跨敤涓嬈$戶鎵垮叧緋匯備絾鏄紝涓涓被鍗村彲浠ュ疄鐜板涓猧nterface銆?/p>
銆銆2.鍦╝bstract class 涓彲浠ユ湁鑷繁鐨勬暟鎹垚鍛橈紝涔熷彲浠ユ湁闈瀉bstarct鐨勬垚鍛樻柟娉曪紝鑰屽湪interface涓紝鍙兘澶熸湁闈欐佺殑涓嶈兘琚慨鏀圭殑鏁版嵁鎴愬憳錛堜篃灝辨槸蹇呴』鏄痵tatic final鐨勶紝涓嶈繃鍦?interface涓竴鑸笉瀹氫箟鏁版嵁鎴愬憳錛夛紝鎵鏈夌殑鎴愬憳鏂規(guī)硶閮芥槸abstract鐨勩?/p>
銆銆3.abstract class鍜宨nterface鎵鍙嶆槧鍑虹殑璁捐鐞嗗康涓嶅悓銆傚叾瀹瀉bstract class琛ㄧず鐨勬槸"is-a"鍏崇郴錛宨nterface琛ㄧず鐨勬槸"like-a"鍏崇郴銆?
銆銆4.瀹炵幇鎶借薄綾誨拰鎺ュ彛鐨勭被蹇呴』瀹炵幇鍏朵腑鐨勬墍鏈夋柟娉曘傛娊璞$被涓彲浠ユ湁闈炴娊璞℃柟娉曘傛帴鍙d腑鍒欎笉鑳芥湁瀹炵幇鏂規(guī)硶銆?/p>
銆銆5.鎺ュ彛涓畾涔夌殑鍙橀噺榛樿鏄痯ublic static final 鍨嬶紝涓斿繀欏葷粰鍏跺垵鍊鹼紝鎵浠ュ疄鐜扮被涓笉鑳介噸鏂板畾涔夛紝涔熶笉鑳芥敼鍙樺叾鍊箋?/p>
銆銆6.鎶借薄綾諱腑鐨勫彉閲忛粯璁ゆ槸 friendly 鍨嬶紝鍏跺煎彲浠ュ湪瀛愮被涓噸鏂板畾涔夛紝涔熷彲浠ラ噸鏂拌祴鍊箋?
銆銆7.鎺ュ彛涓殑鏂規(guī)硶榛樿閮芥槸 public,abstract 綾誨瀷鐨勩?/p>
銆銆緇撹
銆銆abstract class 鍜?interface 鏄?Java璇█涓殑涓ょ瀹氫箟鎶借薄綾葷殑鏂瑰紡錛屽畠浠箣闂存湁寰堝ぇ鐨勭浉浼兼с備絾鏄浜庡畠浠殑閫夋嫨鍗村張寰寰鍙嶆槧鍑哄浜庨棶棰橀鍩熶腑鐨勬 蹇墊湰璐ㄧ殑鐞嗚В銆佸浜庤璁℃剰鍥劇殑鍙嶆槧鏄惁姝g‘銆佸悎鐞嗭紝鍥犱負瀹冧滑琛ㄧ幇浜嗘蹇甸棿鐨勪笉鍚岀殑鍏崇郴錛堣櫧鐒墮兘鑳藉瀹炵幇闇姹傜殑鍔熻兘錛夈傝繖鍏跺疄涔熸槸璇█鐨勪竴縐嶇殑鎯敤娉曪紝甯屾湜璇昏呮湅鍙嬭兘澶熺粏緇嗕綋浼氥?/p>
]]>闈㈣瘯璁板綍 http://m.tkk7.com/larry/archive/2008/11/26/242752.htmllarryjava larryjava Wed, 26 Nov 2008 03:23:00 GMT http://m.tkk7.com/larry/archive/2008/11/26/242752.html http://m.tkk7.com/larry/comments/242752.html http://m.tkk7.com/larry/archive/2008/11/26/242752.html#Feedback 0 http://m.tkk7.com/larry/comments/commentRss/242752.html http://m.tkk7.com/larry/services/trackbacks/242752.html 1.涓轟粈涔堣鐢ㄦ娊璞$被瀹炵幇鎺ュ彛
絳旓細
鎶借薄綾誨拰鎺ュ彛姣旇搗鏉ワ紝鏈変竴涓ソ澶勶紝灝辨槸鏌愪簺鍑芥暟鍙互瀹炵幇鍏蜂綋鐨勬柟娉曪紝鑰屽茍涓嶄竴瀹氭槸澹版槑鎶借薄鐨勬柟娉曪紝鑰屾帴鍙e彧鑳藉0鏄庢娊璞℃柟娉曪紝鎵浠ョ敤涓涓娊璞$被鏉ュ疄鐜版煇涓帴鍙e彲浠ュ疄鐜頒竴浜涢氱敤鐨勬柟娉曪紝鑰岃繖浜涘叿浣撳疄鐜扮殑鏂規(guī)硶閲岃繕鍙互璋冪敤鎶借薄鏂規(guī)硶錛屾墍浠ュ噺灝戜簡瀛愮被涓殑閲嶅浠g爜銆?/p>
java搴撻噷涔熸湁涓嶅皯榪欒繖鏍風殑璁捐錛?/p>
姣斿java.util.AbstractList瀹炵幇浜唈ava.util.List,鑰屽叾瀹炴煇浜涙柟娉曞氨鏄皟鐢ㄤ簡鎶借薄鏂規(guī)硶銆?/p>
榪樻湁涓涓ソ澶勫氨鏄彲浠ョ粰瀛愮被涓涓粯璁ょ殑瀹炵幇錛岃屼笉蹇呯粰鎵鏈夌殑瀛愮被瀹炵幇鎵鏈夌殑鏂規(guī)硶銆?/p>
鍙﹀榪樻湁涓涓ソ澶勫氨鏄彲浠ユ彁渚涗竴浜涘叕鐢ㄧ殑鏂規(guī)硶緇欏瓙綾諱嬌鐢ㄣ?/p>
2.
]]> spring+quartz鐨勫畾鏃跺櫒鍔熻兘 http://m.tkk7.com/larry/archive/2008/11/06/239068.htmllarryjava larryjava Thu, 06 Nov 2008 09:06:00 GMT http://m.tkk7.com/larry/archive/2008/11/06/239068.html http://m.tkk7.com/larry/comments/239068.html http://m.tkk7.com/larry/archive/2008/11/06/239068.html#Feedback 0 http://m.tkk7.com/larry/comments/commentRss/239068.html http://m.tkk7.com/larry/services/trackbacks/239068.html
<!-- 瑕佽皟搴︾殑瀵硅薄 -->
< bean id ="job" class ="com.ApManager.util.TJob" >
< property name ="scheduler" ref ="schedulerFactory" />
< property name ="scheduleInfoManager" ref ="scheduleInfoManager" />
</ bean >
<!-- 瀹氫箟鐩爣bean鍜宐ean涓殑鏂規(guī)硶 -->
< bean id ="jobtask" class ="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean" >
< property name ="targetObject" >
< ref local ="job" />
</ property >
< property name ="targetMethod" >
< value > doAuth </ value >
</ property >
< property name ="concurrent" value ="false" /> <!-- 瀵逛簬鐩稿悓鐨凧obDetail錛屽綋鎸囧畾澶氫釜Trigger鏃? 寰堝彲鑳界涓涓猨ob瀹屾垚涔嬪墠錛岀浜屼釜job灝卞紑濮嬩簡銆傛寚瀹歝oncurrent璁句負false錛屽涓猨ob涓嶄細騫跺彂榪愯錛岀浜屼釜job灝嗕笉浼氬湪絎竴涓猨ob瀹屾垚涔嬪墠寮濮?nbsp; -->
</ bean >
<!-- 瀹氫箟瑙﹀彂鐨勬椂闂?nbsp; -->
< bean id = "cron" class = "org.springframework.scheduling.quartz.CronTriggerBean" >
< property name ="jobDetail" >
< ref bean ="jobtask" />
</ property >
< property name ="cronExpression" >
< value > 0 * 11 * * ? </ value >
</ property >
</ bean >
<!-- 鎬葷鐞?nbsp; -->
< bean autowire = "no" class = "org.springframework.scheduling.quartz.SchedulerFactoryBean" >
< property name ="triggers" > <!-- triggers錛氶氳繃鍐嶆坊鍔犲叾浠栫殑ref鍏冪礌鍙湪list涓斁緗涓Е鍙戝櫒 -->
< list >
< ref local ="cron" />
</ list >
</ property >
</ bean >
絎簩閫氳繃spring涓殑SimpleTrigger綆鍗曡Е鍙戝櫒瀹炵幇
< bean id ="simpleTrigger" class ="org.springframework.scheduling.quartz.SimpleTriggerBean" >
< property name ="jobDetail" >
< ref bean ="methodInvokingJobDetail" />
</ property >
< property name ="startDelay" >
< value > 1000 </ value >
</ property >
< property name ="repeatInterval" >
< value > 3000 </ value >
</ property >
</ bean >
鍙傝冿細
http://www.javaeye.com/topic/115666
http://www.javaeye.com/topic/117244
]]> 鏁欎綘涓姝ユ鎼緩鍔熻兘寮哄ぇ鐨勫紑婧愰偖浠舵湇鍔?/title> http://m.tkk7.com/larry/archive/2008/09/19/230016.htmllarryjava larryjava Fri, 19 Sep 2008 12:41:00 GMT http://m.tkk7.com/larry/archive/2008/09/19/230016.html http://m.tkk7.com/larry/comments/230016.html http://m.tkk7.com/larry/archive/2008/09/19/230016.html#Feedback 0 http://m.tkk7.com/larry/comments/commentRss/230016.html http://m.tkk7.com/larry/services/trackbacks/230016.html
鍩轟簬 Postfix + MySQL 鐨勬枃妗o細http://www.iredmail.org/wiki/index.php/IRedMail-doc-MySQL-0.2
鍩轟簬 Postfix + OpenLDAP 鐨勬枃妗o細http://www.iredmail.org/wiki/index.php/IRedMail-doc-OpenLDAP-0.2
Extmail webmail緋葷粺 http://www.extmail.org/
Postfix http://www.postfix.org.cn
]]> Hibernate sum 鍑芥暟鐨勪嬌鐢?/title> http://m.tkk7.com/larry/archive/2008/05/09/199470.htmllarryjava larryjava Fri, 09 May 2008 05:17:00 GMT http://m.tkk7.com/larry/archive/2008/05/09/199470.html http://m.tkk7.com/larry/comments/199470.html http://m.tkk7.com/larry/archive/2008/05/09/199470.html#Feedback 0 http://m.tkk7.com/larry/comments/commentRss/199470.html http://m.tkk7.com/larry/services/trackbacks/199470.html 浣跨敤Hibernate鐨剆um鍑芥暟榪涜鏁版嵁鐨勭粺璁℃椂,鍑虹幇涓涓敊璇?
String sql = " select SUM(nf.fee) from CFee as nf where nf.adminAccount='testaccount' " ;
public long getListSqlCountsLong(String sql) {
beginTransaction();
List li = getSession().createQuery(sql).list();
if (li == null || li.isEmpty()) {
return 0 ;
} else { return ((Integer) li.get( 0 )).longValue();
}
}
榪欐牱浣跨敤鎶ull閿欒.
List鐨剆ize鏄庢槑絳変簬1,浣唋i.get(0)榪樻槸涓虹┖.(鏁版嵁搴撲腑鏌ヨ鐨勮處鍙穝um鏈潵灝變負null??鍙兘鏄?)
瑙e喅鏂規(guī)硶:
String sql = " select SUM(nf.fee) from CFee as nf where nf.adminAccount='testaccount' " ;
public long getListSqlCountsLong(String sql) {
beginTransaction();
List li = getSession().createQuery(sql).list();
if (li == null || li.isEmpty()) {
return 0 ;
} else {
if (li.get( 0 ) == null ) {
return 0 ;
}
return ((Integer) li.get( 0 )).longValue();
}
}
瑙e喅鏂規(guī)硶寰堢畝鍗?灝辨槸澧炲姞涓涓垽鏂氨鍙互浜?濡傛灉li.get(0)涓虹┖,鍒欒繑鍥?,涓嶄負絀?榪斿洖鍊?
]]> 鍏充簬JavaScript鐨刧zip闈欐佸帇緙╂柟娉? http://m.tkk7.com/larry/archive/2008/02/22/181333.htmllarryjava larryjava Fri, 22 Feb 2008 03:32:00 GMT http://m.tkk7.com/larry/archive/2008/02/22/181333.html http://m.tkk7.com/larry/comments/181333.html http://m.tkk7.com/larry/archive/2008/02/22/181333.html#Feedback 0 http://m.tkk7.com/larry/comments/commentRss/181333.html http://m.tkk7.com/larry/services/trackbacks/181333.html 浼犵粺鐨凧S鍘嬬緝(鍒犻櫎娉ㄩ噴,鍒犻櫎澶氫綑絀烘牸絳?鎻愪緵鐨勫帇緙╃巼鏈夋椂榪樻槸涓嶅敖涓嶆剰,騫鎬簭鐜板湪鐨勬祻瑙堝櫒閮芥敮鎸佸帇緙╀紶杈?閫氳繃璁劇疆http header鐨凜ontent-Encoding=gzip),鍙互閫氳繃鏈嶅姟鍣ㄧ殑閰嶇疆(濡俛pache)涓轟綘鐨刯s鎻愪緵鍘嬬緝浼犺緭,鎴栨槸appfuse涓嬌鐢ㄧ殑GZipFilter浣縯omcat涔熸彁渚涜繖縐嶈兘鍔?
鐜板湪鐨勯棶棰樻槸榪欑鍔ㄦ佺殑鍘嬬緝浼氬鑷存湇鍔″櫒CPU鍗犵敤鐜囪繃楂?鐜板湪鎴戞兂鍒扮殑瑙e喅杈ㄦ硶鏄氳繃鎻愪緵闈欐佸帇緙?灝辨槸灝唈s棰勫厛閫氳繃gzip.exe鍘嬬緝濂?
涓.涓嬮潰鎻忚堪鍦╰omcat涓殑搴旂敤
1.灝唒rototype.js閫氳繃gzip.exe鍘嬬緝淇濆瓨鎴恜rototype.gzjs
2.璁劇疆header,鎴戠紪鍐欎簡涓涓畝鍗曠殑AddHeadersFilter鏉ュ皢鎵鏈変互gzjs緇撳熬鐨勬枃浠跺鍔犺緗甴eader Content-Encoding=gzip
web.xml涓殑閰嶇疆
<filter>
<filter-name>AddHeaderFilter</filter-name>
<filter-class>
badqiu.web.filter.AddHeaderFilter
</filter-class>
<init-param>
<param-name>headers</param-name>
<param-value>Content-Encoding=gzip</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>AddHeaderFilter</filter-name>
<url-pattern>*.gzjs</url-pattern>
</filter-mapping>
嫻嬭瘯prototype.js鏄惁姝e父鐨勪唬鐮?
<html>
<head>
<!-- type="text/javascript"涓嶅彲灝?鏈変簺嫻忚鍣ㄧ己灝戣繖涓笉鑳借繍琛?鍏蜂綋宸茬粡蹇樿浜?-->
<script src="prototype.gzjs" type="text/javascript"></script>
</head>
<body>
<input id="username" name="username" value="badqiu"/><br />
<input id="email" value="badqiu@gmail.com"/>
<script>
<!-- 嫻嬭瘯prototype鐨勬柟娉曟槸鍚︽甯?->
alert($F('username'))
</script>
</body>
</html>
鍦ˋpache httpd涓彲浠ョ洿鎺ラ氳繃鍦╤ttpd.conf澧炲姞AddEncoding x-gzip .gzjs鏉ユ槧灝?gzjs鏂囦歡鐨刪eader
浜?鐩稿叧鍘嬬緝鐜囨暟鎹?
1. prototype.js 1.5.0_rc0鍘熷澶у皬56KB,鏈粡浠諱綍澶勭悊鐩存帴浣跨敤gzip鍘嬬緝涓?2KB,鎬誨帇緙╃巼79%
2. 閫氳繃js鍘嬬緝宸ュ叿鍘嬬緝榪囩殑protytype.js涓?0KB,浣跨敤gzip鍘嬬緝涓?0KB,鎬誨帇緙╃巼涓?3%
3. 瀹為檯欏圭洰涓殑澶氫釜js鍚堝茍鎴愮殑鏂囦歡 439KB,鐩存帴閫氳繃gzip鍘嬬緝涓?5KB,鎬誨帇緙╃巼81%
4. 439KB緇忚繃js鍘嬬緝涓?65KB,鍐嶇粡榪噂zip鍘嬬緝涓?5KB,鎬誨帇緙╃巼86%
鍩烘湰涓婁綘閮藉彲浠ュ拷鐣s鍘嬬緝宸ュ叿鐨勫帇緙╃巼,鐩存帴浣跨敤gzip鍘嬬緝
gzip涓嬭澆鍦板潃 http://www.gzip.org
tomcat鐨勫帇緙╅厤緗ず渚嬩笅杞藉湴鍧: http://m.tkk7.com/Files/badqiu/gziptest.rar
]]> Apache + Tomcat + Linux 闆嗙兢鍜屽潎琛¤礋杞?錛圫ession 鍚屾澶嶅埗錛?閰嶇疆瀹炶返鎸囧崡 http://m.tkk7.com/larry/archive/2008/01/13/175024.htmllarryjava larryjava Sun, 13 Jan 2008 12:48:00 GMT http://m.tkk7.com/larry/archive/2008/01/13/175024.html http://m.tkk7.com/larry/comments/175024.html http://m.tkk7.com/larry/archive/2008/01/13/175024.html#Feedback 0 http://m.tkk7.com/larry/comments/commentRss/175024.html http://m.tkk7.com/larry/services/trackbacks/175024.html 緇忚繃鎴戠殑澶氭嫻嬭瘯瀹炶返錛屽湪linux鍜寃indow涓嬫祴璇曢氳繃錛寃in鐨勬瘮杈冪畝鍗曪紝鍥犱負鍦ㄩ粯璁ょ殑鎯呭喌涓嬶紝緇勬挱灝卞凡緇忔墦寮銆?br />
1 鍦╨inux 涓嬪悓涓鍙版湇鍔″櫒涓婃祴璇曢氳繃錛堟敞鎰忕鍙d笉瑕佸啿紿併傜壒鍒娉ㄦ剰閭d釜tcpListenPort=”4001″ 錛?br />
2 鍦╳indow涓嬬殑鍚屼竴鍙版湇鍔″櫒涓婃祴璇曢氳繃錛屾敞鎰忚鐐瑰悓涓?br />
3 window涓嬪鍙頒笉鍚屼富鏈轟笂嫻嬭瘯閫氳繃錛屾病鏈変粈涔堝ソ娉ㄦ剰鐐癸紝鍙互瀹屽叏澶囦喚涓涓猼omcat
4.linux澶氬彴涓嶅悓tomcat鏈嶅姟鍣ㄤ笂嫻嬭瘯閫氳繃銆傝繖涓篃鏄渶鍚庡疄鐜幫紝鏈瀹為檯鐨勬柟妗堛傦紙涓鑸笉鐢ㄥ湪win涓嬮儴緗瞭omcatweb搴旂敤銆傚懙鍛點傛垜瑙夊緱)
榪欓噷璁蹭笅絎洓涓儏鍐?/p>
鍏堣涓涓嬬幆澧冿細閮芥槸鍦≧ed Hat Linux AS4涓婃祴璇曢氳繃
Apache:ip:192.168.1.11 (涓鍙? 鐗堟湰:2.0/2.2 錛堝仛鍧囨崲璐熻澆鏈嶅姟鍣級
Tomcat:ip1:192.168.1.12 ip2:192.168.1.13 錛堜袱鍙? 鐗堟湰錛?.0銆?.5 錛坵eb搴旂敤鐨凴eal Server錛?br />
Jdk:鐗堟湰1.5 瀹夎鍦?192.168.1.12 鍜?92.168.1.13涓婄殑tomcat鏈嶅姟鍣ㄤ笂
瀹夎tomcat鍜宎pache ,鍦ㄨ繖閲屽氨涓嶈浜嗐?br />
杞歡閮藉彲浠ュ湪www.apache.org 鐨勭綉绔欎笂鎵懼埌(apache,tomcat,mod_jk)
1.涓嬭澆mod_jk.so 鏂囦歡鏀懼埌apache 涓嬬殑modules涓?br />
鍦板潃錛歨ttp://apache.mirror.phpchina.com/tomcat/tomcat-connectors/jk/binaries/ 璇烽夋嫨姝g‘鐨勬搷浣滅郴緇熷拰Apache鐨勭増鏈?br />
2.鍦╝pache鐨刢onf涓嬪緩绔嬫枃浠秝orkers.properties
娣誨姞鍐呭錛?/p>
#
# workers.properties
#
# list the workers by name
worker.list=tomcatlb, status
# localhost server 1
# ------------------------
worker.tomcat12.port=8009
worker.tomcat12.host=192.168.1.12
worker.tomcat12.type=ajp13
worker.tomcat12.lbfactor=1
worker.tomcat12.connection_pool_timeout=750
worker.tomcat12.socket_keepalive=0
worker.tomcat12.socket_timeout=300000
worker.tomcat12.connect_timeout=10000
worker.tomcat12.reply_timeout=330000
# localhost server 3
# ------------------------
worker.tomcat13.port=8009
worker.tomcat13.host=192.168.1.13
worker.tomcat13.type=ajp13
worker.tomcat13.lbfactor=1
worker.tomcat13.connection_pool_timeout=750
worker.tomcat13.socket_keepalive=0
worker.tomcat13.socket_timeout=300000
worker.tomcat13.connect_timeout=10000
worker.tomcat13.reply_timeout=330000
worker.tomcatlb.type=lb
worker.retries=3
worker.tomcatlb.balanced_workers=tomcat12,tomcat13
worker.tomcatlb.sticky_session=1
worker.status.type=status
3.鍦╟onf涓嬫坊鍔犱竴涓猰od_jk.conf鏂囦歡
LoadModule jk_module modules/mod_jk.so
#configure mod_jk
JkWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel debug
4.澧炲姞涓涓櫄鎷熸満閰嶇疆鏂囦歡vhosts.conf 錛堣繖涓笉鏄繀欏葷殑錛屽彲浠ュ皢JkMount 鐨勫啓鍏朵粬鐨勯厤緗枃浠朵腑錛?/p>
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot /data/google
ServerName my.linuxcoffee.org
ErrorLog logs/my.linuxcoffee.org-error_log
CustomLog logs/my.linuxcoffee.org-access_log common
DirectoryIndex index.htm index.html
JkMount /*.jsp tomcatlb
JkMount /*.action tomcatlb
JKMount /jkstatus status
</VirtualHost>
4.淇敼conf涓嬬殑httpd.conf鏂囦歡鍔犱笂
Include conf/vhosts.conf
Include conf/mod_jk.conf
5.閰嶇疆tomcat
璁睠luster 鍓嶇殑娉ㄩ噴鍘繪帀錛屽惎鐢╰omcat闆嗙兢鍔熻兘銆?br />
涓鑸笉闇瑕佷慨鏀逛粈涔堜笢瑗匡紝浣嗗湪鎴戣繖杈癸紝涓ゅ彴l(fā)inux鐨則omcat灝辨槸姝繪椿鎵句笉鍒皀ode錛岃屽悓鏍風殑閰嶇疆鏂囦歡鍦╳indow涓嬬殑璺戝緱寰堟槸姝e父銆?br />
鏈変釜涓滆タ瑕佽鏄庝笅錛屽洜涓簍omcat鐨剆ession鍚屾鍔熻兘闇瑕佺敤鍒扮粍鎾紝windows榛樿鎯呭喌涓嬫槸寮閫氱粍鎾湇鍔$殑錛屼絾鏄痩inux榛樿鎯呭喌涓嬪茍娌℃湁寮閫氾紝鍙互閫氳繃鎸囦護鎵撳紑route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0錛屽鏋滈渶瑕佹湇鍔″櫒鍚姩鏃跺嵆寮閫氱粍鎾渶鍦?etc/sysconfig/static-routes鏂囦歡鍐呭姞鍏ht0 net 224.0.0.0 netmask 240.0.0.0銆傚叿浣撶粍鎾蹇佃鏌ラ槄CCNP鐩稿叧鍐呭銆?br />
鍙互閫氳繃netstate -g 鏉ユ煡鐪嬬粍鎾姸鎬侊紝涔熷彲浠ュ湪route -e 鍛戒護涓湅鍒?/p>
鍘熸潵涓鐩存彁紺鴻繖涓棶棰?br />
淇℃伅: Manager [/clusterapp]: skipping state transfer. No members active in cluster group.
鏈鍚庢祴璇曞彧瑕佷慨鏀瑰湪Cluster涔嬮棿鐨勪竴孌典唬鐮?/p>
< Receiver
className = "
org.apache.catalina.cluster.tcp.ReplicationListener"
tcpListenAddress = " auto "
tcpListenPort = " 4001 "
tcpSelectorTimeout = " 100 "
tcpThreadCount = " 6 " />
鏀逛負
< Receiver
className = "
org.apache.catalina.cluster.tcp.ReplicationListener"
tcpListenAddress = " 192.168.1.12 "
tcpListenPort = " 4001 "
tcpSelectorTimeout = " 100 "
tcpThreadCount = " 6 " />
鍦?3鐨勬湇鍔″櫒涓婁篃灝嗚繖涓孌典慨鏀逛負鑷繁鐨刬p
鐒跺悗鎵撳紑jvmRoute 錛岃窡workers.properties 鐨勪袱涓猼omcat鍚嶅瓧鐩稿尮閰?br />
ip1
< Engine name = " Standalone " defaultHost = " localhost " jvmRoute = " tomcat12 " />
ip2
< Engine name = " Standalone " defaultHost = " localhost " jvmRoute = " tomcat13 " />
濂戒簡錛宎pache鍜宼omcat鐨勯厤緗ソ浜嗭紝鍙互璁塊棶浜嗐?br />
榪欓噷錛屽啀鎻愪緵涓涓摼鎺ワ紝鍙互鐩戞帶鍜岄厤緗礋杞藉潎琛$殑鍚勭淇℃伅
http://192.168.1.11/jkstatus鎴杊ttp://my.linuxcoffee.org銆乯kstatus鏉ヨ闂綉绔欍?/p>
娉細闇瑕佸湪web.xml鐨刣isplay-name鍚庨潰 涓嬪姞涓婁竴孌點?榪欎釜璺熼『搴忔湁鍏崇殑錛屼笉鐒訛紝xml鏂囦歡浼氬彉綰㈠摝銆?/p>
<? xml version = " 1.0 " encoding = " UTF-8 " ?>
< web-app xmlns = " http://java.sun.com/xml/ns/j2ee " xmlns:xsi = " http://www.w3.org/2001/XMLSchema-instance " xsi:schemaLocation = " http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd " version = " 2.4 " >
< display-name > TomcatDemo </ display-name >
< distributable />
</ web-app >
鍙傝冩枃绔狅細
Tomcat 5 Home Page
Clustering Home Page on Tomcat site
Load Balancer Home Page on Tomcat site
]]> 鍏抽棴嫻忚鍣ㄧ獥鍙f椂浜嬩歡 http://m.tkk7.com/larry/archive/2007/12/11/166916.htmllarryjava larryjava Tue, 11 Dec 2007 05:35:00 GMT http://m.tkk7.com/larry/archive/2007/12/11/166916.html http://m.tkk7.com/larry/comments/166916.html http://m.tkk7.com/larry/archive/2007/12/11/166916.html#Feedback 0 http://m.tkk7.com/larry/comments/commentRss/166916.html http://m.tkk7.com/larry/services/trackbacks/166916.html 涓
< script language = " javascript " >
g_blnCheckUnload = true ;
function RunOnBeforeUnload() {
if (g_blnCheckUnload) {window.event.returnValue = 'You will lose any unsaved content';
}
}
</ script >
< body onbeforeunload = " RunOnBeforeUnload() " >
</ body >
浜屻?br />
< script >
function window.onbeforeunload()
{
if (event.clientX > document.body.clientWidth && event.clientY < 0 || event.altKey)
{
window.event.returnValue = " 紜畾涓婁紶瀹屾垚鍚? " ;
} else
{
alert( " 浣犲湪鍒鋒柊 " );
}
}
</ script >
]]> 鏇存柊璁板綍鍚庡叧闂瓙紿楀彛騫跺埛鏂扮埗紿楀彛鐨凧avascript http://m.tkk7.com/larry/archive/2007/12/05/165521.htmllarryjava larryjava Wed, 05 Dec 2007 07:04:00 GMT http://m.tkk7.com/larry/archive/2007/12/05/165521.html http://m.tkk7.com/larry/comments/165521.html http://m.tkk7.com/larry/archive/2007/12/05/165521.html#Feedback 0 http://m.tkk7.com/larry/comments/commentRss/165521.html http://m.tkk7.com/larry/services/trackbacks/165521.html
< a href = " javascript:void(0) " onclick = " window.open('child.html','child','width=400,height=300,left=200,top=200'); " > 鎵撳紑瀛愮獥鍙?/span></ a >
瀛愮獥鍙d唬鐮?
< script language = " JavaScript " type = " text/javascript " > <!-- function refreshParent() { window.opener.location.href = window.opener.location.href; if (window.opener.progressWindow) { window.opener.progressWindow.close(); } window.close(); } // --> </script> <a href="javascript:void(0)" onclick="refreshParent()">鍒鋒柊鐖剁獥鍙e茍鍏抽棴褰撳墠紿楀彛</a>
鐐規(guī)鏌ョ湅紺轟緥
]]> 闄愬埗鐢ㄦ埛鍦ㄦ枃鏈杈撳叆鐨勫瓧鏁? http://m.tkk7.com/larry/archive/2007/09/17/145816.htmllarryjava larryjava Mon, 17 Sep 2007 05:09:00 GMT http://m.tkk7.com/larry/archive/2007/09/17/145816.html http://m.tkk7.com/larry/comments/145816.html http://m.tkk7.com/larry/archive/2007/09/17/145816.html#Feedback 0 http://m.tkk7.com/larry/comments/commentRss/145816.html http://m.tkk7.com/larry/services/trackbacks/145816.html
< script language = javascript >
function gbcount(message,total,used,remain)
{
var max;
max = total.value;
if (message.value.length > max) {
message.value = message.value.substring( 0 ,max);
used.value = max;
remain.value = 0 ;
alert( " 鍐呭涓嶅厑璁歌秴榪?nbsp;1000 涓瓧! " );
}
else {
var iLength = 0 ;
for ( var i = 0 ;i < message.value.length;i ++ )
{
if (message.value.charCodeAt(i) > 255 ) // 瀛楁瘝鏁板瓧鐨刟scii緙栫爜閮藉皬浜?55鑰屾眽瀛楃殑緙栫爜鑲畾澶т簬255
{
iLength += 2 ;
} else if (message.value.charCodeAt(i) == 32 ) // 絀烘牸
{
iLength += 0 ;
} else // 瀛楁瘝鎴栨暟瀛?/span>
{
iLength += 1 ;
}
}
used.value= iLength;
// used.value = message.value.length;
remain.value = max - used.value;
}
}
</ script >
< form >
< textarea onkeydown = gbcount( this .form.contents, this .form.total, this .form.used, this .form.remain); onkeyup = gbcount( this .form.contents, this .form.total, this .form.used, this .form.remain); cols = " 80 " rows = " 8 " wrap = " VIRTUAL " id = " contents " >
</ textarea >
鏈澶氬瓧鏁幫細< INPUT disabled maxLength = 4 name = total size = 3 value = 1000 >
宸茬敤瀛楁暟錛?/span>< INPUT disabled maxLength = 4 name = used size = 3 value = 0 >
鍙敤瀛楁暟錛?/span>< INPUT disabled maxLength = 4 name = remain size = 3 value = 1000 >
</ form >
<htmel><title>瀛楁暟</title>
<script language="javascript">
function gbcount(message,total,used,remain)
{
var max;
max=total.value;
if(message.value.length > max){
message.value = message.value.substring(0,max);
used.value = max;
remain.value = 0;
alert('涓嶈兘瓚呰繃300涓瓧!');
}
else{
used.value = message.value.length;
remain.value = max - used.value;
}
}
</script>
<body><form>
<textarea cols="60" rows="8" id="memo1" onkeydown="gbcount(this.form.memo1,this.form.total1,this.form.used1,this.form.remain1);" onkeyup="gbcount(this.form.memo1,this.form.total1,this.form.used1,this.form.remain1);"></textarea>
<br>
鏈澶氬瓧鏁幫細<INPUT disabled maxLength=4 name=total1 size=3 value=500>
宸茬敤瀛楁暟錛?lt;INPUT disabled maxLength=4 name=used1 size=3 value=0>
鍓╀綑瀛楁暟錛?lt;INPUT disabled maxLength=4 name=remain1 size=3 value=500> </form>
</body></html>
]]>
主站蜘蛛池模板:
a毛片在线看片免费 |
免费人成视频在线播放 |
日韩精品内射视频免费观看 |
国产精品亚洲产品一区二区三区 |
亚洲丰满熟女一区二区哦 |
在线免费观看污网站 |
狠狠色香婷婷久久亚洲精品 |
成年午夜视频免费观看视频
|
亚洲AV噜噜一区二区三区 |
影音先锋在线免费观看 |
亚洲人成电影网站色www |
国产最新凸凹视频免费 |
黄色三级三级三级免费看 |
亚洲一区二区三区免费 |
日韩视频在线观看免费 |
亚洲男人天堂影院 |
毛片免费在线播放 |
免费在线观看亚洲 |
亚洲色欲色欲www在线丝 |
99热在线精品免费播放6 |
亚洲av片不卡无码久久 |
国产伦精品一区二区三区免费下载
|
亚洲人精品午夜射精日韩 |
免费视频一区二区 |
亚洲人成在线中文字幕 |
国产自产拍精品视频免费看 |
成年大片免费视频播放一级 |
亚洲不卡中文字幕无码 |
无码国产精品一区二区免费虚拟VR |
亚洲国产欧美国产综合一区
|
国产又大又粗又长免费视频
|
亚洲AV无码XXX麻豆艾秋 |
浮力影院亚洲国产第一页 |
在线观看免费av网站 |
亚洲s码欧洲m码吹潮 |
亚洲午夜无码久久久久 |
99国产精品永久免费视频 |
牛牛在线精品免费视频观看 |
亚洲无删减国产精品一区 |
四虎影视精品永久免费 |
无码一区二区三区免费 |