銆銆transient:
銆銆java鏈変釜鐗圭偣灝辨槸搴忓垪鍖栵紝綆鍗曞湴鏉ヨ灝辨槸鍙互灝嗚繖涓被瀛樺偍鍦ㄧ墿鐞嗙┖闂達(dá)紙褰撶劧榪樻槸浠ユ枃浠剁殑褰㈠紡瀛樺湪錛夛紝閭d箞褰撲綘浠庢湰鍦拌繕鍘熻繖涓枃浠舵椂錛屼綘鍙互灝嗗畠杞崲涓哄畠鏈韓銆傝繖鍙互鏋佸ぇ鍦版柟渚跨綉緇滀笂鐨勪竴浜涙搷浣滐紝浣嗗悓鏃訛紝鍥犱負(fù)娑夊強(qiáng)鍒板畨鍏ㄩ棶棰橈紝鎵浠ュ茍涓嶅笇鏈涙妸綾婚噷闈㈡墍鏈夌殑涓滆タ閮借兘瀛樺偍錛堝洜涓洪偅鏍鳳紝鍒漢鍙互閫氳繃搴忓垪鍖栫煡閬撶被閲岄潰鐨勫唴瀹癸級錛岄偅涔堟垜浠氨鍙互鐢ㄤ笂transient榪欎釜鍏抽敭瀛楋紝瀹冪殑鎰忔濇槸涓存椂鐨勶紝鍗充笉浼?xì)闅従c諱竴璧峰簭鍒楀寲鍒版湰鍦幫紝鎵浠ュ綋榪樺師鍚庯紝榪欎釜鍏抽敭瀛楀畾涔夌殑鍙橀噺涔熷氨涓嶅啀瀛樺湪銆?/p>
銆銆volatile:
銆銆Volatile 淇グ鐨勬垚鍛樺彉閲忓湪姣忔琚嚎紼嬭闂椂錛岄兘寮鴻揩浠庡叡浜唴瀛樹腑閲嶈璇ユ垚鍛樺彉閲忕殑鍊箋傝屼笖錛屽綋鎴愬憳鍙橀噺鍙戠敓鍙樺寲鏃訛紝寮鴻揩綰跨▼灝嗗彉鍖栧煎洖鍐欏埌鍏變韓鍐呭瓨銆傝繖鏍峰湪浠諱綍鏃跺埢錛屼袱涓笉鍚岀殑綰跨▼鎬繪槸鐪嬪埌鏌愪釜鎴愬憳鍙橀噺鐨勫悓涓涓箋?/p>
銆銆Java 璇█瑙勮寖涓寚鍑猴細(xì)涓轟簡鑾峰緱鏈浣抽熷害錛屽厑璁哥嚎紼嬩繚瀛樺叡浜垚鍛樺彉閲忕殑縐佹湁鎷瘋礉錛岃屼笖鍙綋綰跨▼榪涘叆鎴栬呯寮鍚屾浠g爜鍧楁椂鎵嶄笌鍏變韓鎴愬憳鍙橀噺鐨勫師濮嬪煎姣斻?/p>
銆銆榪欐牱褰撳涓嚎紼嬪悓鏃朵笌鏌愪釜瀵硅薄浜や簰鏃訛紝灝卞繀欏昏娉ㄦ剰鍒拌璁╃嚎紼嬪強(qiáng)鏃剁殑寰楀埌鍏變韓鎴愬憳鍙橀噺鐨勫彉鍖栥?/p>
銆銆鑰寁olatile鍏抽敭瀛楀氨鏄彁紺篤M錛氬浜庤繖涓垚鍛樺彉閲忎笉鑳戒繚瀛樺畠鐨勭鏈夋嫹璐濓紝鑰屽簲鐩存帴涓庡叡浜垚鍛樺彉閲忎氦浜掋?/p>
銆銆浣跨敤寤鴻錛氬湪涓や釜鎴栬呮洿澶氱殑綰跨▼璁塊棶鐨勬垚鍛樺彉閲忎笂浣跨敤volatile銆傚綋瑕佽闂殑鍙橀噺宸插湪synchronized浠g爜鍧椾腑錛屾垨鑰呬負(fù)甯擱噺鏃訛紝涓嶅繀浣跨敤銆?/p>
銆銆鐢變簬浣跨敤volatile灞忚斀鎺変簡VM涓繀瑕佺殑浠g爜浼樺寲錛屾墍浠ュ湪鏁堢巼涓婃瘮杈冧綆錛屽洜姝や竴瀹氬湪蹇呰鏃舵墠浣跨敤姝ゅ叧閿瓧銆?/p>
鍚勪釜鍥藉鍜屽湴鍖烘墍鍒跺畾鐨勪笉鍚?ANSI 緙栫爜鏍囧噯涓紝閮藉彧瑙勫畾浜嗗悇鑷璦鎵闇鐨?#8220;瀛楃”銆傛瘮濡傦細(xì)姹夊瓧鏍囧噯錛圙B2312錛変腑娌℃湁瑙勫畾闊╁浗璇瓧絎︽庢牱瀛樺偍銆傝繖浜?ANSI 緙栫爜鏍囧噯鎵瑙勫畾鐨勫唴瀹瑰寘鍚袱灞傚惈涔夛細(xì)
鍚勪釜鍥藉鍜屽湴鍖哄湪鍒跺畾緙栫爜鏍囧噯鐨勬椂鍊欙紝“瀛楃鐨勯泦鍚?#8221;鍜?#8220;緙栫爜”涓鑸兘鏄悓鏃跺埗瀹氱殑銆傚洜姝わ紝騫沖父鎴戜滑鎵璇寸殑“瀛楃闆?#8221;錛屾瘮濡傦細(xì)GB2312, GBK, JIS 絳夛紝闄や簡鏈?#8220;瀛楃鐨勯泦鍚?#8221;榪欏眰鍚箟澶栵紝鍚屾椂涔熷寘鍚簡“緙栫爜”鐨勫惈涔夈?/p>
“UNICODE 瀛楃闆?/strong>”鍖呭惈浜嗗悇縐嶈璦涓嬌鐢ㄥ埌鐨勬墍鏈?#8220;瀛楃”銆傜敤鏉ョ粰 UNICODE 瀛楃闆嗙紪鐮佺殑鏍囧噯鏈夊緢澶氱錛屾瘮濡傦細(xì)UTF-8, UTF-7, UTF-16, UnicodeLittle, UnicodeBig 絳夈?/p>
浜?eclipse 涓浜庣紪鐮佹柟寮忕殑璁劇疆
1 婧愭枃浠剁殑緙栫爜璁劇疆
preference -> general -> Content Types
鍙寵竟閫夋嫨鏂囦歡綾誨瀷錛屽彸涓嬫洿鏂?緙虹渷緙栫爜鏂瑰紡
2 鎺у埗鍙扮殑緙栫爜璁劇疆
Run -> Run configuration( 鎴?Debug configuration)
鍙寵竟閫夐」鍗′腑 common, 涓鑸負(fù)鏈鍚庝竴欏?br />
鍦?console encoding 鐨?other 涓夊彇闇瑕佺殑 緙栫爜鏂瑰紡
涓?java 涓殑 緙栫爜杞崲
byte[] bytes = oldStr.getBytes(); //榛樿緙栫爜鏂瑰紡涓嬬殑瀛楄妭鏁扮粍
String newStr = new String( bytes, "UTF-8" ); //杞崲鎴?UTF-8 緙栫爜涓嬬殑瀛楃涓?br />
]]>