锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
鎴戜滑涓嶇闂嚜宸憋紝涓轟粈涔堜細鏈夐偅涔堝澶辮觸鐨勮蔣浠訛紝杞歡寮鍙戞垜浠埌搴曡繕闇瑕佷粈涔堬紵
宸ュ叿錛熸垜浠笉涔忎紵澶х殑宸ュ叿錛孖DE鎴戜滑鏈塭clipse銆乮ntelliJ銆乂C++絳夌瓑錛屽緩妯℃垜浠湁Rose銆乼ogether銆乂isio絳夌瓑錛岄厤緗鐞嗘垜浠琒ubversion銆丆VS銆丆learCase絳夌瓑錛宐ug綆$悊鎴戜滑鏈塁learQuest銆乥ugzilla絳夌瓑錛屾枃妗f垜浠瑆ord銆亀ps絳夛紝榪樻湁闆嗘垚銆佹祴璇曠敋鑷崇敓鎴愪唬鐮佺瓑絳夋垜浠兘鏈変紵澶х殑宸ュ叿錛屽伐鍏鋒垜浠笉緙恒傛祦紼嬶紵鐎戝竷妯″瀷銆佽凱浠fā鍨嬨乁P銆乆P鎴戜滑涓嶇己嫻佺▼綆$悊鐨勭悊璁恒傜煡璇嗭紵杞歡寮鍙戠畻鏄竴欏圭煡璇嗗瀷鐨勫伐浣滐紝鎴戜滑鐨勫紑鍙戜漢鍛樹竴鑸兘鏄湰縐戠澹瘯涓氾紝鍐典笖鎼滅儲寮曟搸濡傛鍙戣揪鐨勪粖澶╋紝鐭ヨ瘑鏍規湰涓嶆槸闂錛屽喌涓旀垜浠殑杞歡寮鍙戦渶瑕佸涔堥珮娣辯殑鐭ヨ瘑鍚?
浼樼鐨勭悊璁烘敮鎸併佹湁鑳藉姏鐨勪漢鍛樸佸厛榪涚殑宸ュ叿錛岃繖浜涙垜浠兘鍏峰錛屾垜浠墍緙虹殑鍙槸涓縐嶈蔣浠跺紑鍙戠殑鐞嗗康錛岀己灝戣蔣浠跺紑鍙戠殑鎯呭晢銆傛垜浠竴寮濮嬪涔犵紪紼嬬煡璇嗘帴瑙﹀埌鐨勫氨鏄疌璇█鍜屾暟鎹粨鏋勶紝鎱㈡參鐨勪竴浜涚粨鏋勫寲鐨勬濇兂灝辨墡鏍逛簬澶ц剳錛屽叾瀹炲湪鍟嗕笟杞歡涓暟鎹粨鏋勩佺畻娉曞緢灝戞秹鍙婏紝鎴戜滑鎵闇瑕佺殑浠呬粎鏄竴縐嶈璁°佸紑鍙戠殑鐞嗗康銆傛瘮濡傜敤闈㈠悜瀵硅薄鏈潵鏄竴縐嶇畝鍗曠殑鎬濇兂錛岀洰鐨勬槸涓轟簡闄嶄綆杞歡鐨勫鏉傛ц屽嚭鐜扮殑錛屽彲鏄鐔熸倝浜嗙粨鏋勫寲緙栫▼鐨勪漢鍘繪悶鍙嶈岃寰楀緢闅俱備竴浜涘ソ鐨勫疄璺電粡楠屾垜浠篃緇忓父鎻愬埌錛屾瘮濡傛ā鍧楀寲銆佹澗鏁h﹀悎銆侀潰鍚戞帴鍙g紪紼嬨佺被搴斿彧鍏蟲敞鏈亴宸ヤ綔絳夌瓑寮鍙戣璁$悊蹇典互鍙婅鑼冨懡鍚嶃佽灝戒嬌鐢ㄧ殑娉ㄩ噴銆佹竻鏅扮殑緇撴瀯絳変唬鐮佽鑼冧互鍙婃瘡鏃ユ瀯寤恒佹湁鏁堟矡閫氥侀厤緗鐞嗐乥ug綆$悊絳変竴浜涚鐞嗙悊蹇碉紝榪欎簺鍋氳搗鏉ラ兘闈炲父瀹規槗錛屽叧閿槸鎳掓儼鏄漢鐨勬湰鎬э紝涓嶇煡涓嶈涓垜浠氨浼氱姱鐫澶у閮藉湪閲嶅鐨勯敊璇傚鏋滃湪欏圭洰寮宸ヤ箣鍒濆氨鍏呭垎璐交榪欎簺浼樼鐨勭悊蹇碉紝鍦ㄩ」鐩繘琛屼腑鏃犺鏃墮棿澶氱揣閮芥寔涔嬩互鎭掞紝騫朵笖欏圭洰榪涜涓笉鏂殑鍙嶆濅唬鐮佷腑鐨勫潖鍛抽亾錛屼竴緇忓彂鐜扮珛鍗抽噸鏋勶紝鐩鎬俊鎴戜滑鐨勫紑鍙戣繃紼嬩細榪涘叆涓涓壇鎬х殑寰幆涓幓錛屾垜浠殑寮鍙戜漢鍛樺皢浼氫綋浼氬埌浠涔堟槸蹇箰寮鍙戙?/font>
JDOM鍥犲叾綆媧佹槗鐢ㄦ槗鎳傜殑API鑰岃騫挎硾鐨勪嬌鐢ㄣ侸DOM甯哥敤鐨勬牳蹇冪被鍙婂畠浠棿鐨勫叧緋誨涓嬪浘鎵紺猴細
Document浠h〃浜嗘枃妗e璞★紝鎶借薄綾籆ontent琛ㄧず鏂囨。涓殑鍐呭鍏冪礌錛屽悇縐嶅唴瀹圭粍鎴愪簡鏂囨。瀵硅薄銆傚父鐢ㄧ殑鍐呭鍏冪礌鏈墄ml鍏冪礌Element銆亁ml娉ㄩ噴Comment銆佹枃鏈琓ext銆備笅闈互濡備笅鐗囨鏉ヨ鏄庡悇綾葷殑鍚箟銆?/font>
<?xml version="1.0" encoding="UTF-8"?>
<customers>
<customer>
<name>寰愯緵娉?lt;/name>
<occupation>developer</occupation>
<!-- comment:following is contact info -->
<contact>
<email>sinpo.xu@hotmail.com</email>
<mobile>15029357227</mobile>
<fix-phone>02985457683</fix-phone>
</contact>
</customer>
</customers>
涓婅堪鏂囨。鐢―ocument鏉ユ娊璞★紱customers涓烘枃妗g殑鏍瑰厓绱狅紙root element 錛夛紝Element鍗充竴涓皝闂搗鏉ョ殑鍏冪礌錛宔lement鍏冪礌鍙互鏈夊瓙鍏冪礌錛屽<mobile>15029357227</mobile>鏄竴涓厓绱狅紝鑰?lt;contact>...</contact>涔熸槸涓涓厓绱狅紝鐢氳嚦<customers>...</customers>涔熸槸涓涓ぇ鍏冪礌錛?lt;!-- ... -->浠h〃浜唜ml涓敞閲婏紝娉ㄩ噴鍦↗DOM涓敤Comment綾繪潵鎶借薄錛汿ext浠h〃浜唜ml涓殑鏂囨湰鍊鹼紝濡傚厓绱犲睘鎬х殑鍊箋佸厓绱犵殑鍊箋佹敞閲婄殑鍐呭絳夛紝鐖跺厓绱犵殑Text涓哄瓙鍏冪礌鍜屽肩粍鎴愮殑涓詫紝浣跨敤Text綾誨彲浠ユ柟渚跨殑琛ㄧず涓浜涚壒孌婂瓧絎?濡傦細
Element element = new Element("name");
Text text = new Text("AAA.<銆丅BB/>.<CCC>");
element.addContent(text);
鍊煎緱涓鎻愮殑鏄疎lement鐨勬柟娉昦ddContent(Content content),鍥犲弬鏁版槸鎶借薄鐖剁被Content錛屾墍浠ュ彲浠ユ坊鍔燭ext銆丒lement鍜孋omment絳夛紝濡傛灉娣誨姞鐨勬槸Text鍒欒嚜鍔ㄤ綔涓篹lement鐨勬枃鏈鹼紝濡傛灉鏄疎lement鍒欎綔涓篹lement鐨勫瓙鍏冪礌錛屽鏋滄槸Comment鍒欎綔涓篹lement鐨勬敞閲婏紝浣跨敤鍗佸垎鏂逛究銆傚厓绱犵殑鍊煎<name>寰愯緵娉?lt;/name>涓殑“寰愯緵娉?#8221;涔熸槸涓涓拰鍏冪礌騫寵鐨凜ontent瀵硅薄錛圱ext瀵硅薄錛夛紝褰撲嬌鐢‥lement鐨刧etDescendants()鏂規硶鏃跺皢榪斿洖涓涓鍏冪礌鎵鏈夊悗浠g殑榪唬鍣紝榪欎簺鍚庝唬鍖呮嫭Element銆丆omment銆乀ext絳夛紝濡傚厓绱?lt;contact>鐨勫悗浠e寘鎷琫mail銆乵obile銆乫ix-phone涓変釜鍏冪礌浠ュ強榪欎笁涓厓绱犵殑Text鍏?涓悗浠o紝濡傛灉璁$畻鍚庝唬鏃舵湁鐖跺瓙宓屽鍒欏簲娉ㄦ剰錛岀埗鍏冪礌浣滀負涓涓悗浠o紝鍏跺祵濂楃殑瀛愬厓绱犱綔涓哄彟涓涓悗浠c?/font>
鍒氭墠鎻愬埌鏍稿績綾婚兘鍖呭惈鍦╫rg.jdom鍖呬笅錛宩dom榪樺寘鍚簡org.jdom.input鍜宱rg.jdom.output涓や釜鍖呭垎鍒潵澶勭悊xml鍐呭鐨勮緭鍏ヨ緭鍑恒傚綋瑕佽鍙杧ml璧勬簮鏃舵垜浠氬父浣跨敤input鍖呬笅鐨凷AXBuilder綾諱粠杈撳叆嫻佹瀯寤篸om瀵硅薄錛屽綋璧勬簮鍔犺澆鍚庡父鐢ㄧ殑鍋氭硶鏄湪鍐呭瓨涓紦瀛橈紝榪欐牱鍚庣畫鐨勬煡鎵句慨鏀圭瓑鎿嶄綔灝遍潪甯稿揩銆傛枃妗e姞杞藉悗鍐呭瓨鐨勪腑鍚勪釜鍏冪礌鏄褰曟湁鍚勮嚜鐨勪綅緗拰鍏崇郴鐨勶紝鍗充繚鎸佹湁涓婁笅鏂囩幆澧冪殑銆傚鏋滄兂瑕佸垹闄や竴孌靛唴瀹癸紙Element Comment Text錛夛紝鍙敤璋冪敤璇ュ唴瀹圭殑detach鏂規硶鍗沖彲錛岃繖鏍峰厓绱犲嵆鍜屾枃妗h劚紱誨叧緋諱簡錛屽啀瀵規枃妗h繘琛岄亶鍘嗘垨鑰呮寔涔呭寲鍒扮鐩樹笂鏃舵父紱葷殑鍏冪礌灝變笉鍙浜嗐侸dom鐨勮緭鍑虹被鍖呮嫭XMLOutputter銆丏OMOutputter銆丼AXOutputter銆傛渶甯哥敤鐨勬槸XMLOutputter錛岄氳繃瀹冨彲浠ュ皢dom瀵硅薄杈撳嚭鍒版寚瀹氱殑杈撳嚭嫻侊紝騫朵笖鍙互鎸囧畾鎵杈撳嚭xml鏂囦歡鐨勬牸寮忥紝姣斿緙╄繘鐨勬牱寮忕瓑銆侱OMOutputter杈撳嚭org.w3c.dom.Document瀵硅薄錛岀敤浜嶫DOM瀵硅薄鍚寃3c dom瀵硅薄杞崲錛孲AXOutputter鍙互娉ㄥ唽鍥炶皟鍑芥暟鏉ュ鐞嗙浉搴旂殑sax浜嬩歡銆?/font>
package sinpo.usagedemo; |
鍏充簬絳夊緟鍜屼紤鐪犺繕鏈夊彟涓涓尯鍒氨鏄綋綰跨▼絳夊緟鏃訛紝璇ョ嚎紼嬮攣瀹氱殑璧勬簮鏄噴鏀炬帀鐨勶紝榪欐椂鍏跺畠綰跨▼鏄彲浠ラ攣瀹氳繖浜涜祫婧愮殑錛屽綋綰跨▼琚敜閱掓垨鑰呯瓑寰呮椂闄愬埌鏃剁嚎紼嬮噸鏂拌幏鍙栬祫婧愭墠鑳界戶緇繍琛岋紱鑰屽綋綰跨▼浼戠湢鏃剁嚎紼嬮攣瀹氱殑璧勬簮鏄笉琚噴鏀劇殑銆?/font>
榪樻湁涓鐐瑰氨鏄鍦ㄥ璞ock涓婄瓑寰呮椂鏄繀欏誨厛瑕佽幏鍙杔ock鐨勫璞¢攣鎵嶈兘榪涜鐨勶紝鍗沖繀欏昏綾諱技涓嬮潰鐨勯昏緫
synchronized錛坙ock){ lock.wait()}
浠ヤ笅涓轟竴涓畝鍗曠殑紺轟緥錛?/font>
package
sinpo.usagedemo;
|
榪欏嚑澶╅渶瑕佸疄鐜頒竴涓簳灞傚熀浜嶶DP鐨勫崗璁紝璇ュ崗璁簳灞備嬌鐢║DP浼犺緭浣嗘槸鍏鋒湁鎷ュ鎺у埗銆佽秴鏃墮噸鍙戙佹暟鎹‘璁ょ瓑鍔熻兘鍙堟瘮TCP綆鍗?錛圧UDP錛孯eliable UDP錛夈傚湪瀹炵幇鍗忚搴曞眰鐨刄DP鏈嶅姟鏃跺噯澶囦嬌鐢↗ava鐨凬IO錛屽湪緗戜笂鏌ヨ祫鏂欓兘鏄互TCP涓轟緥璁茬殑錛屼簬鏄嚜宸辯爺絀朵簡涓涓嬪熀浜嶶DP鐨凬IO銆?/font>
NIO鐨勬濊礬鏄熀浜庡璺夋嫨鐨勶紝鍗崇敱鍘熸潵鐨勬瘡涓繛鎺ラ兘鐢變竴涓嚎紼嬫潵絳夊緟娑堟伅錛屾敼涓烘瘡涓繛鎺ラ兘鍦ㄩ夋嫨鍣ㄤ笂娉ㄥ唽錛岀敱閫夋嫨鍣ㄦ潵絳夊緟銆傚綋鐒禢IO寮曞叆浜嗗緢澶氭柊鐨勬蹇碉紝濡侰hannel錛孊uffer銆丆harset銆丼elector絳夛紝浣垮緱緙栫▼鏇寸畝媧併佹洿闈㈠悜瀵硅薄鍖栥?/font>
涓嬮潰璐村嚭鐢∟IO API鏀歸犳垚UDP紺轟緥浠g爜錛屾敞鎰忓叾涓嬌鐢–harset鏉ョ紪鐮佽В鐮佺殑榪囩▼錛堝綋鐒禖harset榪樻敮鎸佸緢澶氬叾浠栫紪鐮佷笉浠呭眬闄愪簬榛樿緙栫爜錛変互鍙夿uffer鐨勪嬌鐢ㄣ?/font>
package
sinpo.usagedemo;
|
package
sinpo.usagedemo;
|
package sinpo.usagedemo; |