锘??xml version="1.0" encoding="utf-8" standalone="yes"?> tar瑙e帇tar.gz鏂囦歡鏃訛紝涓枃鏂囦歡澶規湁涔辯爜 utf8錛屾紜紝寰涓嬪彇錛岄渶瑕佸寘鎷瓙鏂囦歡澶癸紝瀛愭枃浠訛紝娑夊強鍒?/"絳夌鍙風殑鍒囧壊錛岃繖涓湴鏂規湭鑰冭檻涓枃 絎竴錛岃皥璋坒inal, finally, finalize鐨勫尯鍒?br />
絎簩錛孉nonymous Inner Class (鍖垮悕鍐呴儴綾? 鏄惁鍙互extends(緇ф壙)鍏跺畠綾伙紝鏄惁鍙互implements(瀹炵幇)interface(鎺ュ彛)? 絎笁錛孲tatic Nested Class 鍜?Inner Class鐨勪笉鍚岋紝璇村緱瓚婂瓚婂ソ(闈㈣瘯棰樻湁鐨勫緢絎肩粺)銆?br />
絎洓錛?amp;鍜?amp;&鐨勫尯鍒?br />
絎簲錛孒ashMap鍜孒ashtable鐨勫尯鍒?br />
絎叚錛孋ollection 鍜?Collections鐨勫尯鍒?br />
銆銆 絎竷錛屼粈涔堟椂鍊欑敤assert銆?br />
絎叓錛孏C鏄粈涔? 涓轟粈涔堣鏈塆C? 絎節錛孲tring s = new String("xyz");鍒涘緩浜嗗嚑涓猄tring Object? 絎崄錛孧ath.round(11.5)絳夋柤澶氬皯? Math.round(-11.5)絳夋柤澶氬皯? 絎崄涓錛宻hort s1 = 1; s1 = s1 + 1;鏈変粈涔堥敊? short s1 = 1; s1 += 1;鏈変粈涔堥敊? 銆short s1 = 1; s1 = s1 + 1; 錛坰1+1榪愮畻緇撴灉鏄痠nt鍨嬶紝闇瑕佸己鍒惰漿鎹㈢被鍨嬶級short s1 = 1; s1 += 1;錛堝彲浠ユ紜紪璇戯級銆銆 絎崄浜岋紝sleep() 鍜?wait() 鏈変粈涔堝尯鍒? 絎崄涓夛紝Java鏈夋病鏈塯oto? 絎崄鍥涳紝鏁扮粍鏈夋病鏈塴ength()榪欎釜鏂規硶? String鏈夋病鏈塴ength()榪欎釜鏂規硶錛?br />
絎崄浜旓紝Overload鍜孫verride鐨勫尯鍒侽verloaded鐨勬柟娉曟槸鍚﹀彲浠ユ敼鍙樿繑鍥炲肩殑綾誨瀷? 絎崄鍏紝Set閲岀殑鍏冪礌鏄笉鑳介噸澶嶇殑錛岄偅涔堢敤浠涔堟柟娉曟潵鍖哄垎閲嶅涓庡惁鍛? 鏄敤==榪樻槸equals()? 瀹冧滑鏈変綍鍖哄埆? 絎崄涓冿紝緇欐垜涓涓綘鏈甯歌鍒扮殑runtime exception銆?/strong> 鍙傝冨涓嬶細 絎崄鍏紝error鍜宔xception鏈変粈涔堝尯鍒? 絎崄涔濓紝List, Set, Map鏄惁緇ф壙鑷狢ollection鎺ュ彛? 絎簩鍗侊紝abstract class鍜宨nterface鏈変粈涔堝尯鍒? 絎簩鍗佷竴錛宎bstract鐨刴ethod鏄惁鍙悓鏃舵槸static,鏄惁鍙悓鏃舵槸native錛屾槸鍚﹀彲鍚屾椂鏄痵ynchronized? 絎簩鍗佷簩錛屾帴鍙f槸鍚﹀彲緇ф壙鎺ュ彛? 鎶借薄綾繪槸鍚﹀彲瀹炵幇(implements)鎺ュ彛? 鎶借薄綾繪槸鍚﹀彲緇ф壙瀹炰綋綾?concrete class)? 絎簩鍗佷笁錛屽惎鍔ㄤ竴涓嚎紼嬫槸鐢╮un()榪樻槸start()? 絎簩鍗佸洓錛屾瀯閫犲櫒Constructor鏄惁鍙override? 絎簩鍗佷簲錛屾槸鍚﹀彲浠ョ戶鎵縎tring綾? 絎簩鍗佸叚錛屽綋涓涓嚎紼嬭繘鍏ヤ竴涓璞$殑涓涓猻ynchronized鏂規硶鍚庯紝鍏跺畠綰跨▼鏄惁鍙繘鍏ユ瀵硅薄鐨勫叾瀹冩柟娉? 絎簩鍗佷竷錛宼ry {}閲屾湁涓涓猺eturn璇彞錛岄偅涔堢揣璺熷湪榪欎釜try鍚庣殑finally {}閲岀殑code浼氫笉浼氳鎵ц錛屼粈涔堟椂鍊欒鎵ц錛屽湪return鍓嶈繕鏄悗? 絎簩鍗佸叓錛岀紪紼嬮: 鐢ㄦ渶鏈夋晥鐜囩殑鏂規硶綆楀嚭2涔樹互8絳夋柤鍑? 絎簩鍗佷節錛屼袱涓璞″肩浉鍚?x.equals(y) == true)錛屼絾鍗村彲鏈変笉鍚岀殑hash code錛岃繖鍙ヨ瘽瀵逛笉瀵? 絎笁鍗侊紝褰撲竴涓璞¤褰撲綔鍙傛暟浼犻掑埌涓涓柟娉曞悗錛屾鏂規硶鍙敼鍙樿繖涓璞$殑灞炴э紝騫跺彲榪斿洖鍙樺寲鍚庣殑緇撴灉錛岄偅涔堣繖閲屽埌搴曟槸鍊間紶閫掕繕鏄紩鐢ㄤ紶閫? 絎笁鍗佷竴錛宻wtich鏄惁鑳戒綔鐢ㄥ湪byte涓婏紝鏄惁鑳戒綔鐢ㄥ湪long涓婏紝鏄惁鑳戒綔鐢ㄥ湪String涓? 絎笁鍗佷簩錛岀紪紼嬮: 鍐欎竴涓猄ingleton鍑烘潵銆?br />
* 瑙e帇tar.gz鏂囦歡
* tar鏂囦歡鍙槸鎶婂涓枃浠舵垨鏂囦歡澶規墦鍖呭悎鎴愪竴涓枃浠訛紝鏈韓騫舵病鏈夎繘琛屽帇緙┿俫z鏄繘琛岃繃鍘嬬緝鐨勬枃浠躲?br /> * @param dir
* @param filepath
* @throws Exception
*/
public static void deGzipArchive(String dir, String filepath)
throws Exception {
final File input = new File(filepath);
final InputStream is = new FileInputStream(input);
final CompressorInputStream in = new GzipCompressorInputStream(is, true);
TarArchiveInputStream tin = new TarArchiveInputStream(in);
TarArchiveEntry entry = tin.getNextTarEntry();
while (entry != null) {
File archiveEntry = new File(dir, entry.getName());
archiveEntry.getParentFile().mkdirs();
if (entry.isDirectory()) {
archiveEntry.mkdir();
entry = tin.getNextTarEntry();
continue;
}
OutputStream out = new FileOutputStream(archiveEntry);
IOUtils.copy(tin, out);
out.close();
entry = tin.getNextTarEntry();
}
in.close();
tin.close();
}
閬楃暀闂錛?br />
鐮旂┒鍙戠幇commpress鍖呰В鍘嬫椂錛孴arArchiveInputStream綾誨涓枃鏈仛澶勭悊錛岃繘涓姝ヨ窡韙紝絎竴灞傛槸
鎹ant娌¢棶棰?/p>
鏈鍚庢妸欏甸潰涓婄殑<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
鍦?lt;body>涓姞style="overflow-x:hidden" 灝卞彲浠ヤ簡錛?br />
]]>
]]>
浣跨敤sitemesh寤虹珛澶嶅悎瑙嗗浘
]]>
]]>
涓嬭澆浜嗕笁涓彃浠訛紝鍒嗗埆鏄痝reen,AmaterasUML_1.3.1,idafeuml.鍓嶉潰涓や釜鏄笅杞界殑錛屽悗闈竴涓槸閫氳繃eclipse鐨剈pdate manage涓嬭澆鐨勶紝鎴戦兘鎶婂畠浠斁鍒頒竴涓崟鐙殑鐩綍錛岀劧鍚庨氳繃link鏂瑰紡鍔犲叆鍒癳clipse銆?br />
鍚姩eclispse涔嬪悗錛屾鏌ュ彂鐜版彃浠墮兘瀹夎鎴愬姛錛屼絾鏄偣鍑誨浘鏍囷紝閮芥姤閿欙紝鎶nable load class XXX閿欒錛屾鏌ヤ簡鍖呰礬寰勶紝鍙戠幇綾葷‘瀹炲湪鍟婏紝鏄粈涔堥棶棰樺憿銆傚悗鏉ュ彂鐜版槸path璺緞璁劇疆鐨勪笉瀵癸紝鎸囧悜鐨勬槸jdk1.4銆傚悗鏉ユ敼涓簀dk5灝辨病闂鍟︺?br />
緇忚繃綆鍗曟祴璇?涓兘鑳藉浣跨敤銆備笉閿欍備笅涓綃囷紝鍐嶅啓鍐欒繖涓変釜浣跨敤鐨勬瘮杈冦傚厛鐫″暒銆?br />
鏈潵鎯崇敤rose鐨勩傛壘浜嗗崐澶╂壘涓嶅埌鍏嶈垂鐨剅ose錛屽啀璇磋繖涓滆タ鍙堝ぇ鍙堣吹錛屽績琛鏉ユ疆錛岀敤鐢ㄥ厤璐圭殑錛岃繖涓滆タ鎶鏈惈閲忎篃涓嶆槸鐗瑰埆楂橈紝騫插槢鎼炵殑閭d箞楂樻繁闈炲緱鐢╮ose銆傛棤闈炲氨鏄敾鐢葷被鍥撅紝灝嗙被鍥炬槧灝勪負浠g爜銆?br />
]]>
銆final 鐢ㄤ簬澹版槑灞炴э紝鏂規硶鍜岀被錛屽垎鍒〃紺哄睘鎬т笉鍙彉錛屾柟娉曚笉鍙鐩栵紝綾諱笉鍙戶鎵褲俧inally鏄紓甯稿鐞嗚鍙ョ粨鏋勭殑涓閮ㄥ垎錛岃〃紺烘繪槸鎵ц銆俧inalize鏄?Object綾葷殑涓涓柟娉曪紝鍦ㄥ瀮鍦炬敹闆嗗櫒鎵ц鐨勬椂鍊欎細璋冪敤琚洖鏀跺璞$殑姝ゆ柟娉曪紝鍙互瑕嗙洊姝ゆ柟娉曟彁渚涘瀮鍦炬敹闆嗘椂鐨勫叾浠栬祫婧愬洖鏀訛紝渚嬪鍏抽棴鏂囦歡絳夈?/p>
銆鍙互緇ф壙鍏朵粬綾繪垨瀹屾垚鍏朵粬鎺ュ彛錛屽湪swing緙栫▼涓父鐢ㄦ鏂瑰紡銆傘
銆Static Nested Class鏄澹版槑涓洪潤鎬侊紙static錛夌殑鍐呴儴綾伙紝瀹冨彲浠ヤ笉渚濊禆浜庡閮ㄧ被瀹炰緥琚疄渚嬪寲銆傝岄氬父鐨勫唴閮ㄧ被闇瑕佸湪澶栭儴綾誨疄渚嬪寲鍚庢墠鑳藉疄渚嬪寲銆傘銆
銆&鏄綅榪愮畻絎︼紝琛ㄧず鎸変綅涓庤繍綆楋紝&&鏄昏緫榪愮畻絎︼紝琛ㄧず閫昏緫涓庯紙and錛?銆銆
銆HashMap鏄疕ashtable鐨勮交閲忕駭瀹炵幇錛堥潪綰跨▼瀹夊叏鐨勫疄鐜幫級錛屼粬浠兘瀹屾垚浜哅ap鎺ュ彛錛屼富瑕佸尯鍒湪浜嶩ashMap鍏佽絀猴紙null錛夐敭鍊鹼紙key錛?鐢變簬闈炵嚎紼?a class="channel_keylink" target="_blank">瀹夊叏錛屾晥鐜囦笂鍙兘楂樹簬Hashtable.銆銆
銆Collection鏄泦鍚堢被鐨勪笂綰ф帴鍙o紝緇ф壙涓庝粬鐨勬帴鍙d富瑕佹湁Set 鍜孡ist.Collections鏄拡瀵歸泦鍚堢被鐨勪竴涓府鍔╃被錛屼粬鎻愪緵涓緋誨垪闈欐佹柟娉曞疄鐜板鍚勭闆嗗悎鐨勬悳绱€佹帓搴忋佺嚎紼嬪畨鍏ㄥ寲絳夋搷浣溿傘銆
銆1.4鏂板鍏抽敭瀛楋紙璇硶錛夛紝鐢ㄤ簬嫻嬭瘯boolean琛ㄨ揪寮忕姸鎬侊紝鍙敤浜庤皟璇曠▼搴忋備嬌鐢ㄦ柟娉?assert
銆銆
銆GC鏄瀮鍦炬敹闆嗙殑鎰忔濓紙Gabage Collection錛?鍐呭瓨澶勭悊鏄紪紼嬩漢鍛樺鏄撳嚭鐜伴棶棰樼殑鍦版柟錛屽繕璁版垨鑰呴敊璇殑鍐呭瓨鍥炴敹浼氬鑷寸▼搴忔垨緋葷粺鐨勪笉紼沖畾鐢氳嚦宕╂簝錛?a class="channel_keylink" target="_blank">Java鎻愪緵鐨凣C鍔熻兘鍙互 鑷姩鐩戞祴瀵硅薄鏄惁瓚呰繃浣滅敤鍩熶粠鑰岃揪鍒拌嚜鍔ㄥ洖鏀跺唴瀛樼殑鐩殑錛?a class="channel_keylink" target="_blank">Java璇█娌℃湁鎻愪緵閲婃斁宸插垎閰嶅唴瀛樼殑鏄劇ず鎿嶄綔鏂規硶銆?銆銆
銆涓や釜銆銆
銆Math.round(11.5)==12Math.round(-11.5)==-11round鏂規硶榪斿洖涓庡弬鏁版渶鎺ヨ繎鐨勯暱鏁存暟錛屽弬鏁板姞1/2鍚庢眰鍏秄loor.銆銆
銆sleep鏄嚎紼嬬被錛圱hread錛夌殑鏂規硶錛屽鑷存綰跨▼鏆傚仠鎵ц鎸囧畾鏃墮棿錛岀粰鎵ц鏈轟細緇欏叾浠栫嚎紼嬶紝浣嗘槸鐩戞帶鐘舵佷緷鐒朵繚鎸侊紝鍒版椂鍚庝細鑷姩鎭㈠銆傝皟鐢?sleep涓嶄細閲婃斁瀵硅薄閿併倃ait鏄疧bject綾葷殑鏂規硶錛屽姝ゅ璞¤皟鐢╳ait鏂規硶瀵艱嚧鏈嚎紼嬫斁寮冨璞¢攣錛岃繘鍏ョ瓑寰呮瀵硅薄鐨勭瓑寰呴攣瀹氭睜錛屽彧鏈夐拡瀵規瀵?璞″彂鍑簄otify鏂規硶錛堟垨notifyAll錛夊悗鏈嚎紼嬫墠榪涘叆瀵硅薄閿佸畾姹犲噯澶囪幏寰楀璞¢攣榪涘叆榪愯鐘舵併傘銆
銆娌℃湁銆銆寰堝崄涓夌殑闂錛屽鏋滃摢涓潰璇曠殑闂埌榪欎釜闂錛屾垜鍔濅綘榪樻槸鍒繘榪欏鍏徃銆?/p>
銆鏁扮粍娌℃湁length()榪欎釜鏂規硶錛屾湁length鐨勫睘鎬с?br />
銆String鏈夋湁length()榪欎釜鏂規硶銆?/p>
銆鏂規硶鐨勯噸鍐橭verriding鍜岄噸杞絆verloading鏄疛ava澶氭佹х殑涓嶅悓琛ㄧ幇銆傞噸鍐橭verriding鏄埗綾諱笌瀛愮被涔嬮棿澶氭佹х殑涓縐嶈〃鐜幫紝 閲嶈澆Overloading鏄竴涓被涓鎬佹х殑涓縐嶈〃鐜般傚鏋滃湪瀛愮被涓畾涔夋煇鏂規硶涓庡叾鐖剁被鏈夌浉鍚岀殑鍚嶇О鍜屽弬鏁幫紝鎴戜滑璇磋鏂規硶琚噸鍐?(Overriding)銆傚瓙綾葷殑瀵硅薄浣跨敤榪欎釜鏂規硶鏃訛紝灝嗚皟鐢ㄥ瓙綾諱腑鐨勫畾涔夛紝瀵瑰畠鑰岃█錛岀埗綾諱腑鐨勫畾涔夊鍚岃“灞忚斀”浜嗐傚鏋滃湪涓涓被涓畾涔変簡澶氫釜鍚屽悕鐨勬柟 娉曪紝瀹冧滑鎴栨湁涓嶅悓鐨勫弬鏁頒釜鏁版垨鏈変笉鍚岀殑鍙傛暟綾誨瀷錛屽垯縐頒負鏂規硶鐨勯噸杞?Overloading)銆侽verloaded鐨勬柟娉曟槸鍙互鏀瑰彉榪斿洖鍊肩殑綾誨瀷銆?/p>
銆Set閲岀殑鍏冪礌鏄笉鑳介噸澶嶇殑錛岄偅涔堢敤iterator()鏂規硶鏉ュ尯鍒嗛噸澶嶄笌鍚︺俥quals()鏄垽璇諱袱涓猄et鏄惁鐩哥瓑銆?br />
equals()鍜?=鏂規硶鍐沖畾寮曠敤鍊兼槸鍚︽寚鍚戝悓涓瀵硅薄equals()鍦ㄧ被涓瑕嗙洊錛屼負鐨勬槸褰撲袱涓垎紱葷殑瀵硅薄鐨勫唴瀹瑰拰綾誨瀷鐩擱厤鐨勮瘽錛岃繑鍥炵湡鍊箋?/p>
ArithmeticException,
ArrayStoreException,
BufferOverflowException,
BufferUnderflowException,
CannotRedoException,
CannotUndoException,
ClassCastException,
CMMException,
ConcurrentModificationException,
DOMException,
EmptyStackException,
IllegalArgumentException,
IllegalMonitorStateException,
IllegalPathStateException,
IllegalStateException,
ImagingOpException,
IndexOutOfBoundsException,
MissingResourceException,
NegativeArraySizeException,
NoSuchElementException,
NullPointerException,
ProfileDataException,
ProviderException,
RasterFormatException,
SecurityException,
SystemException,
UndeclaredThrowableException,
UnmodifiableSetException,
UnsupportedOperationException
銆error 琛ㄧず鎭㈠涓嶆槸涓嶅彲鑳戒絾寰堝洶闅劇殑鎯呭喌涓嬬殑涓縐嶄弗閲嶉棶棰樸傛瘮濡傝鍐呭瓨婧㈠嚭銆備笉鍙兘鎸囨湜紼嬪簭鑳藉鐞嗚繖鏍風殑鎯呭喌銆?br />
銆exception 琛ㄧず涓縐嶈璁℃垨瀹炵幇闂銆備篃灝辨槸璇達紝瀹冭〃紺哄鏋滅▼搴忚繍琛屾甯革紝浠庝笉浼氬彂鐢熺殑鎯呭喌銆?/p>
List錛孲et鏄?br />
Map涓嶆槸
銆澹版槑鏂規硶鐨勫瓨鍦ㄨ屼笉鍘誨疄鐜板畠鐨勭被琚彨鍋氭娊璞$被錛坅bstract class錛夛紝瀹冪敤浜庤鍒涘緩涓涓綋鐜版煇浜涘熀鏈涓虹殑綾伙紝騫朵負璇ョ被澹版槑鏂規硶錛屼絾涓嶈兘鍦ㄨ綾諱腑瀹炵幇璇ョ被鐨勬儏鍐點備笉鑳藉垱寤篴bstract 綾葷殑瀹炰緥銆傜劧鑰屽彲浠ュ垱寤轟竴涓彉閲忥紝鍏剁被鍨嬫槸涓涓娊璞$被錛屽茍璁╁畠鎸囧悜鍏蜂綋瀛愮被鐨勪竴涓疄渚嬨備笉鑳芥湁鎶借薄鏋勯犲嚱鏁版垨鎶借薄闈欐佹柟娉曘侫bstract 綾葷殑瀛愮被涓哄畠浠埗綾諱腑鐨勬墍鏈夋娊璞℃柟娉曟彁渚涘疄鐜幫紝鍚﹀垯瀹冧滑涔熸槸鎶借薄綾諱負銆傚彇鑰屼唬涔嬶紝鍦ㄥ瓙綾諱腑瀹炵幇璇ユ柟娉曘傜煡閬撳叾琛屼負鐨勫叾瀹冪被鍙互鍦ㄧ被涓疄鐜拌繖浜涙柟娉曘?br />
銆鎺ュ彛錛坕nterface錛夋槸鎶借薄綾葷殑鍙樹綋銆傚湪鎺ュ彛涓紝鎵鏈夋柟娉曢兘鏄娊璞$殑銆傚緇ф壙鎬у彲閫氳繃瀹炵幇榪欐牱鐨勬帴鍙h岃幏寰椼傛帴鍙d腑鐨勬墍鏈夋柟娉曢兘鏄娊璞$殑錛屾病鏈変竴涓?鏈夌▼搴忎綋銆傛帴鍙e彧鍙互瀹氫箟static final鎴愬憳鍙橀噺銆傛帴鍙g殑瀹炵幇涓庡瓙綾葷浉浼鹼紝闄や簡璇ュ疄鐜扮被涓嶈兘浠庢帴鍙e畾涔変腑緇ф壙琛屼負銆傚綋綾誨疄鐜扮壒孌婃帴鍙f椂錛屽畠瀹氫箟錛堝嵆灝嗙▼搴忎綋緇欎簣錛夋墍鏈夎繖縐嶆帴鍙g殑鏂規硶銆?鐒跺悗錛屽畠鍙互鍦ㄥ疄鐜頒簡璇ユ帴鍙g殑綾葷殑浠諱綍瀵硅薄涓婅皟鐢ㄦ帴鍙g殑鏂規硶銆傜敱浜庢湁鎶借薄綾伙紝瀹冨厑璁鎬嬌鐢ㄦ帴鍙e悕浣滀負寮曠敤鍙橀噺鐨勭被鍨嬨傞氬父鐨勫姩鎬佽仈緙栧皢鐢熸晥銆傚紩鐢ㄥ彲浠ヨ漿鎹㈠埌 鎺ュ彛綾誨瀷鎴栦粠鎺ュ彛綾誨瀷杞崲錛宨nstanceof 榪愮畻絎﹀彲浠ョ敤鏉ュ喅瀹氭煇瀵硅薄鐨勭被鏄惁瀹炵幇浜嗘帴鍙c?/p>
閮戒笉鑳?/p>
銆鎺ュ彛鍙互緇ф壙鎺ュ彛銆傛娊璞$被鍙互瀹炵幇(implements)鎺ュ彛錛屾娊璞$被鏄惁鍙戶鎵垮疄浣撶被錛屼絾鍓嶆彁鏄疄浣撶被蹇呴』鏈夋槑紜殑鏋勯犲嚱鏁般?/p>
銆鍚姩涓涓嚎紼嬫槸璋冪敤start()鏂規硶錛屼嬌綰跨▼鎵浠h〃鐨勮櫄鎷熷鐞嗘満澶勪簬鍙繍琛岀姸鎬侊紝榪欐剰鍛崇潃瀹冨彲浠ョ敱JVM璋冨害騫舵墽琛屻傝繖騫朵笉鎰忓懗鐫綰跨▼灝變細绔嬪嵆榪愯銆俽un()鏂規硶鍙互浜х敓蹇呴』閫鍑虹殑鏍囧織鏉ュ仠姝竴涓嚎紼嬨?/p>
銆鏋勯犲櫒Constructor涓嶈兘琚戶鎵匡紝鍥犳涓嶈兘閲嶅啓Overriding錛屼絾鍙互琚噸杞絆verloading銆?/p>
銆String綾繪槸final綾繪晠涓嶅彲浠ョ戶鎵褲?/p>
銆涓嶈兘錛屼竴涓璞$殑涓涓猻ynchronized鏂規硶鍙兘鐢變竴涓嚎紼嬭闂?/p>
浼氭墽琛岋紝鍦╮eturn鍓嶆墽琛屻?/p>
鏈塁鑳屾櫙鐨勭▼搴忓憳鐗瑰埆鍠滄闂繖縐嶉棶棰樸?br />
2 << 3
涓嶅錛屾湁鐩稿悓鐨刪ash code銆?/p>
銆鏄間紶閫掋侸ava 緙栫▼璇█鍙敱鍊間紶閫掑弬鏁般傚綋涓涓璞″疄渚嬩綔涓轟竴涓弬鏁拌浼犻掑埌鏂規硶涓椂錛屽弬鏁扮殑鍊煎氨鏄璇ュ璞$殑寮曠敤銆傚璞$殑鍐呭鍙互鍦ㄨ璋冪敤鐨勬柟娉曚腑鏀瑰彉錛屼絾瀵硅薄鐨勫紩鐢ㄦ槸姘歌繙涓嶄細鏀瑰彉鐨勩?/p>
銆switch錛坋xpr1錛変腑錛宔xpr1鏄竴涓暣鏁拌〃杈懼紡銆傚洜姝や紶閫掔粰 switch 鍜?case 璇彞鐨勫弬鏁板簲璇ユ槸 int銆?short銆?char 鎴栬?byte銆俵ong,string 閮戒笉鑳戒綔鐢ㄤ簬swtich銆?/p>
Singleton妯″紡涓昏浣滅敤鏄繚璇佸湪Java搴旂敤紼嬪簭涓紝涓涓被Class鍙湁涓涓疄渚嬪瓨鍦ㄣ?br />
涓鑸琒ingleton妯″紡閫氬父鏈夊嚑縐嶇褰㈠紡:
銆絎竴縐嶅艦寮? 瀹氫箟涓涓被錛屽畠鐨勬瀯閫犲嚱鏁頒負private鐨勶紝瀹冩湁涓涓猻tatic鐨刾rivate鐨勮綾誨彉閲忥紝鍦ㄧ被鍒濆鍖栨椂瀹炰緥璇濓紝閫氳繃涓涓猵ublic鐨刧etInstance鏂規硶鑾峰彇瀵瑰畠鐨勫紩鐢?緇ц岃皟鐢ㄥ叾涓殑鏂規硶銆?/p>
public class Singleton {
銆銆private Singleton(){}
銆銆//鍦ㄨ嚜宸卞唴閮ㄥ畾涔夎嚜宸變竴涓疄渚嬶紝鏄笉鏄緢濂囨紵
銆銆//娉ㄦ剰榪欐槸private 鍙緵鍐呴儴璋冪敤
銆銆private static Singleton instance = new Singleton();
銆銆//榪欓噷鎻愪緵浜嗕竴涓緵澶栭儴璁塊棶鏈琧lass鐨勯潤鎬佹柟娉曪紝鍙互鐩存帴璁塊棶銆銆
銆銆public static Singleton getInstance() {
銆銆銆銆return instance; 銆銆
銆銆 }
}
絎簩縐嶅艦寮?
public class Singleton { 銆銆private static Singleton instance = null; 銆銆public static synchronized Singleton getInstance() { 銆銆//榪欎釜鏂規硶姣斾笂闈㈡湁鎵鏀硅繘錛屼笉鐢ㄦ瘡嬈¢兘榪涜鐢熸垚瀵硅薄錛屽彧鏄涓嬈°銆銆 銆 銆銆//浣跨敤鏃剁敓鎴愬疄渚嬶紝鎻愰珮浜嗘晥鐜囷紒 銆銆if (instance==null) 銆銆銆銆instance錛漬ew Singleton(); return instance; 銆銆} } |