¶Ôjava¼¼ÊõStringµÄ̽ÌÖ
ÒªÀí½â javaÖÐStringµÄÔË×÷·½Ê½£¬±ØÐëÃ÷È·Ò»µã£ºStringÊÇÒ»¸ö·Ç¿É±äÀࣨimmutable£©¡£Ê²Ã´ÊǷǿɱäÀàÄØ£¿¼òµ¥ËµÀ´£¬·Ç¿É±äÀàµÄʵÀýÊDz»Äܱ»Ð޸ĵģ¬Ã¿¸öʵÀýÖаüº¬µÄÐÅÏ¢¶¼±ØÐëÔÚ¸ÃʵÀý´´½¨µÄʱºò¾ÍÌṩ³öÀ´£¬²¢ÇÒÔÚ¶ÔÏóµÄÕû¸öÉú´æÖÜÆÚÄڹ̶¨²»±ä¡£javaΪʲôҪ°ÑStringÉè¼ÆÎª·Ç¿É±äÀàÄØ£¿Äã¿ÉÒÔÎÊÎÊ james Gosling £º£©¡£µ«ÊǷǿɱäÀàȷʵÓÐ×Å×ÔÉíµÄÓÅÊÆ£¬Èç״̬µ¥Ò»£¬¶ÔÏó¼òµ¥£¬±ãÓÚά»¤¡£Æä´Î£¬¸ÃÀà¶ÔÏó¶ÔÏó±¾ÖÊÉÏÊÇḬ̈߳²È«µÄ£¬²»ÒªÇóͬ²½¡£´ËÍâÓû§¿ÉÒÔ¹²Ïí·Ç¿É±ä¶ÔÏó£¬ÉõÖÁ¿ÉÒÔ¹²ÏíËüÃǵÄÄÚ²¿ÐÅÏ¢¡££¨Ïê¼û ¡¶Effective java¡·item 13£©¡£StringÀàÔÚjavaÖб»´óÁ¿ÔËÓã¬ÉõÖÁÔÚclassÎļþÖж¼ÓÐÆäÉíÓ°£¬Òò´Ë½«ÆäÉè¼ÆÎª¼òµ¥Çá±ãµÄ·Ç¿É±äÀàÊDZȽϺÏÊʵġ£
Ò»¡¢´´½¨¡£
ºÃÁË£¬ÖªµÀStringÊǷǿɱäÀàÒÔºó£¬ÎÒÃÇ¿ÉÒÔ½øÒ»²½Á˽âStringµÄ¹¹Ô췽ʽÁË¡£´´½¨Ò»¸öStirng¶ÔÏó£¬Ö÷Òª¾ÍÓÐÒÔÏÂÁ½ÖÖ·½Ê½£º
java ´úÂë
String str1 = new String("abc");
Stirng str2 = "abc";
ËäÈ»Á½¸öÓï¾ä¶¼ÊÇ·µ»ØÒ»¸öString¶ÔÏóµÄÒýÓ㬵«ÊÇjvm¶ÔÁ½ÕߵĴ¦Àí·½Ê½ÊDz»Ò»ÑùµÄ¡£¶ÔÓÚµÚÒ»ÖÖ£¬jvm»áÂíÉÏÔÚheapÖд´½¨Ò»¸öString¶ÔÏó£¬È»ºó½«¸Ã¶ÔÏóµÄÒýÓ÷µ»Ø¸øÓû§¡£¶ÔÓÚµÚ¶þÖÖ£¬jvmÊ×ÏÈ»áÔÚÄÚ²¿Î¬»¤µÄstrings poolÖÐͨ¹ýStringµÄ equels ·½·¨²éÕÒÊǶÔÏó³ØÖÐÊÇ·ñ´æ·ÅÓиÃString¶ÔÏó£¬Èç¹ûÓУ¬Ôò·µ»ØÒÑÓеÄString¶ÔÏó¸øÓû§£¬¶ø²»»áÔÚheapÖÐÖØÐ´´½¨Ò»¸öеÄString¶ÔÏó£»Èç¹û¶ÔÏó³ØÖÐûÓиÃString¶ÔÏó£¬jvmÔòÔÚheapÖд´½¨ÐµÄString¶ÔÏ󣬽«ÆäÒýÓ÷µ»Ø¸øÓû§£¬Í¬Ê±½«¸ÃÒýÓÃÌí¼ÓÖÁstrings poolÖС£×¢Ò⣺ʹÓõÚÒ»ÖÖ·½·¨´´½¨¶ÔÏóʱ£¬jvmÊDz»»áÖ÷¶¯°Ñ¸Ã¶ÔÏó·Åµ½strings poolÀïÃæµÄ£¬³ý·Ç³ÌÐòµ÷Óà StringµÄintern·½·¨¡£¿´ÏÂÃæµÄÀý×Ó£º
java ´úÂë
String str1 = new String("abc"); //jvm ÔÚ¶ÑÉÏ´´½¨Ò»¸öString¶ÔÏó
//jvm ÔÚstrings poolÖÐÕÒ²»µ½ÖµÎª“abc”µÄ×Ö·û´®£¬Òò´Ë
//ÔÚ¶ÑÉÏ´´½¨Ò»¸öString¶ÔÏ󣬲¢½«¸Ã¶ÔÏóµÄÒýÓüÓÈëÖÁstrings poolÖÐ
//´Ëʱ¶ÑÉÏÓÐÁ½¸öString¶ÔÏó
Stirng str2 = "abc";
if(str1 == str2){
&nb
Ïà¹ØÎĵµ£º
Ò»¡¢Í¬²½ÎÊÌâÌá³ö
Ï̵߳Äͬ²½ÊÇΪÁË·ÀÖ¹¶à¸öÏ̷߳ÃÎÊÒ»¸öÊý¾Ý¶ÔÏóʱ£¬¶ÔÊý¾ÝÔì³ÉµÄÆÆ»µ¡£
ÀýÈ磺Á½¸öÏß³ÌThreadA¡¢ThreadB¶¼²Ù×÷ͬһ¸ö¶ÔÏóFoo¶ÔÏ󣬲¢ÐÞ¸ÄFoo¶ÔÏóÉϵÄÊý¾Ý¡£
public
class
Foo {
private
int
x = 100;
public
int
get ......
Java AppletÓëJava ApplicationµÄÇø±ð
ÔÚJavaÓïÑÔÖУ¬Äܹ»¶ÀÁ¢ÔËÐеijÌÐò³ÆÎªJavaÓ¦ÓóÌÐò£¨Application£©¡£JavaÓïÑÔ»¹ÓÐÁíÍâÒ»ÖÖ³ÌÐò——Applet³ÌÐò¡£Applet³ÌÐò£¨Ò²³ÆJavaС³ÌÐò£©ÊÇÔËÐÐÓÚ¸÷ÖÖÍøÒ³ÎļþÖУ¬ÓÃÓÚÔöÇ¿ÍøÒ³µÄÈË»ú½»»¥¡¢¶¯»ÏÔʾ¡¢ÉùÒô²¥·ÅµÈ¹¦ÄܵijÌÐò¡£
Java Appletº ......
Java ºÍ C#µÄ±È½Ï
1¡£·ÃÎÊ¿ØÖÆ·½Ã棺C#ÓÐpublic¡¢internal¡¢protected¡¢private£¬±Èjava¶àÁ˸öinternal£¬ÆäʵËü¸újavaµÄ°ü·ÃÎʲ¶à£¬internal±íʾͬһ¸ö±àÒ뼯ºÏ£¨Èçexe¡¢dll£©ÏµÄÀà¿ÉÒÔ»¥·Ã¡£
¶ÔÓÚprotected£¬javaºÍC#ÓÐÇø±ð¡£ÔÚjavaÖУ¬protectedºÍ°ü·ÃÎʼ¶±ð²î²»¶à£¬¼´²»ÊÇ˽Óеġ£¶øÔÚC#ÖУ¬protectedºÍpriv ......
Devoxx ´ó»á½áÊøÔÚ¼¸Ììǰ½áÊøÁË£¬Ò»Î»Óë»áÕ߶Դ˴δó»áµÄÖØÒªÄÚÈݽøÐÐÁË×ܽᣬËûÌáµ½Java 7µÄÖ÷Òª±ä»¯ÈçÏ£º
¡¡¡¡1.¶ÔcollectionsµÄÖ§³Ö
¡¡¡¡Java´úÂë
List<String> list = new ArrayList<String>();
list.add("item");
String item = list.get(0);
......