Java ¿ª·¢ÈËÔ±ÊìϤÔÚÒ»¸öÑ»·ÖÐʹÓÃStringBuffer À´´úÌæ´®Áª String ¶ÔÏóÄÜ»ñµÃ×î¼ÑÐÔÄÜ¡£È»¶ø£¬¶àÊý¿ª·¢ÈËÔ±´ÓÀ´Ã»ÓбȽÏÁ½ÖÖ·½·¨²úÉúµÄ×Ö½Ú´úÂëµÄÇø±ð¡£
Ê×ÏÈÎÒÃDZØÐëÇå³þµÄÒ»µãÊÇStringÀàÊÇfinalÀàÐ͵ģ¬ Òò´ËÄã²»¿ÉÒԼ̳ÐÕâ¸öÀà¡¢²»ÄÜÐÞ¸ÄÕâ¸öÀà¡£ÎÒÃÇʹÓÃStringµÄʱºò·Ç³£¼òµ¥£¬Í¨³£¶¼ÊÇString s = "hello"£¬µ«ÊÇJava APIÖÐͬʱÌṩÁËÒ»¸ö¹¹Ô캯ÊýΪString(String s)£¬Òò´ËÄãÒ²¿ÉÒÔÕâÑùʹÓÃString s = new String("hello")£¬¶ÔÓÚºóÃæÕâÑù³õʼ»¯Ò»¸öStringµÄ·½Ê½ÊDz»ÍƼöµÄ£¬ÒòΪnew²Ù×÷·ûÒâζ׎«»áÔÚheapÉÏÉú³ÉÒ»¸öеĶÔÏó£¬Èç¹û ÕâÑùµÄ²Ù×÷·¢ÉúÔÚÒ»¸öÑ»·ÖУ¬ÄÇô´ú¼ÛÊDzÒÖØµÄ¡£±ÈÈç
for(int i = 0;i<1000;i++)
{
String s = new String("hello");
}
Õ⽫»á´´½¨1000¸öStringÀàÐ͵ĶÔÏó£¬ÓÉÓÚStringÀàÊÇfinalµÄ£¬Òò´ËÕâÑùµÄ²Ù×÷ÊÂʵÉÏÊÇÿ´Î¶¼Éú³ÉÁËÒ»¸öеÄString¶ÔÏóµÄ¡£Èç¹ûÄãʹÓÃString s = "hello";ÄÇô¾Í¿ÉÒÔʵÏÖ¸´ÓÃÁË£¬ÎªÊ²Ã´¿ÉÒÔ¸´ÓÃÄØ£¬ÏÂÃæ»áÓнâÊÍ£º
String s = "hello";
JVMÏȸù¾ÝÄÚÈÝ"hello"²éÕÒ¶ÔÏó£¬Èç¹ûûÓÐÕÒµ½£¬ÔòÔÚheapÉÏ´´½¨Ð¶ÔÏ󣬲¢½«Æä¸³Óès1£¬·ñÔòʹÓÃÒѾ´æÔڵĶÔÏó
String s = new String("hello");
JVMÖ±½ÓÔÚheapÉÏ´´½¨ÐµĶÔÏó£¬ËùÒÔÔÚheapÖлá³öÏÖÄÚÈÝÏàͬ£¬µØÖ·²»Í¬µÄString¶ÔÏó
StringBufferÊDzúÉúÒ»¿éÄÚ´æ¿Õ¼ä£¬½øÐÐÏà¸ÉµÄÔöɾ¸Ä²Ù×÷¶¼ÔÚÕâ¿é¿ÉÀ©Õ¹µÄÄÚ´æÉÏÀ´²Ù×÷£¬ËùÒÔËü¶ÔÄÚ´æ¿Õ¼äµÄÏûºÄÊÇÓÐÓÅ»¯µÄ£¬ÌرðÊÇÔÚÑ»·ÖÐ
ЧÂÊ£ºString Óë StringBuffer
Çé¾°1£º
(1) String result = "hello" + " world";
(2) StringBuffer result = new String().append("hello").append(" world");
(1) µÄЧÂʺÃÓÚ (2)£¬²»ÒªÆæ¹Ö£¬ÕâÊÇÒòΪJVM»á×öÈçÏ´¦Àí
±àÒëǰ String result = "hello" + " world";
±àÒëºó String result = "hello world";
Çé¾°2£º
(1) public String getString(String s1, String s2) {
return s1 + s2;
}
(2) public String getString(String s1, String s2) {
return new StringBuffer().append(s1).append(s2);
}
(1) µÄЧÂÊÓë (2) Ò»Ñù£¬ÕâÊÇÒòΪJVM»á×öÈçÏ´¦Àí
±àÒëǰ return s1 + s2;
±àÒëºó return new StringBuffer().append(s1).append(s2);
Çé¾°3£º
(1) String s = "s1";
s += "s2";
s += "s3";
(2) StringBuffer s = new StringBuffer().append("s1").append("s2").append("s3");
(2) µÄЧÂʺÃÓÚ(1)£¬ÒòΪStringÊDz»¿É±ä¶ÔÏó£¬Ã¿´Î"+="²Ù×÷¶¼»áÔì³É¹¹ÔìеÄString¶ÔÏó
Çé¾°4£º
(1) StringBuffer s = new StringBuffer();
for (int i = 0; i < 50000; i ++) {
s.append("hello");
}
(2) StringBuffer s = new StringBuffer(250000);
for (int i = 0; i < 50000; i ++) {
s.append("hello");
}
(2) µÄЧÂʺÃÓÚ (1)£¬ÒòΪStringBufferÄÚ²¿ÊµÏÖÊÇcharÊý×飬ĬÈϳõʼ»¯³¤¶ÈΪ16£¬Ã¿µ±×Ö·û´®³¤¶È´óÓÚchar
Êý×鳤¶ÈµÄʱºò£¬JVM»á¹¹Ôì¸ü´óµÄÐÂÊý×飬²¢½«ÔÏȵÄÊý×éÄÚÈݸ´ÖƵ½ÐÂÊý×飬(2)±ÜÃâÁ˸´ÖÆÊý×éµÄ¿ªÏú
¹Ø¼üµã
1). ¼òµ¥µÄÈÏΪ .append() ЧÂʺÃÓÚ "+" ÊÇ´íÎóµÄ£¡
2). ²»ÒªÊ¹Óà new ´´½¨ String
3). ×¢Òâ .intern() µÄʹÓÃ
4). ÔÚ±àÒëÆÚÄܹ»È·¶¨×Ö·û´®ÖµµÄÇé¿öÏ£¬Ê¹ÓÃ"+"ЧÂÊ×î¸ß
5). ±ÜÃâʹÓà "+=" À´¹¹Ôì×Ö·û´®
6). ÔÚÉùÃ÷StringBuffer¶ÔÏóµÄʱºò£¬Ö¸¶¨ºÏÊʵÄcapacity£¬²»ÒªÊ¹ÓÃĬÈÏÖµ
ÍÆ¼öÐÅÏ¢
- ÔÝÎ޼Ǽ
ÈÈÃÅÐÅÏ¢
- nohup: redirecting stderr to stdou....
- ʹÓÃlog_formatΪNginx·þÎñÆ÷ÉèÖøüÏêϸµÄÈÕÖ¾¸ñʽ
- jquery easyUI--dataGrid-Json
- [Ô´´]·ÂGoogle Reader¡¢ÐÂÀË΢²©¡¢ÌÚѶ΢²©µ....
- ÀûÓÃKeepalived+mysql¹¹½¨¸ß¿ÉÓÃMySQLË«Ö÷×Ô¶....
- Nginx+keepalivedʵÏÖ¸ºÔؾùºâºÍË«»úÈȱ¸¸ß¿ÉÓÃ
- jqueryʵÏÖÒ³Ãæ¼ÓÔØ½ø¶ÈÌõ
- Rolling cURL: PHP²¢·¢×î¼Ñʵ¼ù
- codeigniter ·ÓÉÖÕ¼«ÓÅ»¯(url rewrite)
- linuxÏÂÉèÖÃsshÎÞÃÜÂëµÇ¼
×î½ü¸üÐÂ
- java urlÖØÐ´¼¼Êõ(UrlReWriter)
- [ת]JavaµÄÊý×飨Array£©¡¢Vector¡¢ArrayLis....
- jsp»·¾³ÏÂajaxÂÒÂëÎÊÌâµÄ½â¾ö
- JSP¼¼Êõ Ö¸Áî ÂÒÂëÎÊÌâ ÔËÐÐÔÀíºÍ¾Å´óÒþʽ¶ÔÏó web¿ª·¢µÄË....
- JAVA ˮӡ ͼƬ ÎÄ×Ö
- java¶þ½øÖÆ£¬ÔÂë¡¢·´Âë¡¢²¹Â롢λÔËËã
- Java WebÓ¦ÓÃÆô¶¯¼ä¸ôÖ´ÐеijÌÐò
- jspÉú³ÉxmlÎļþʾÀý
- javaÖÐÀà±äÁ¿¡¢Àà·½·¨¡¢ÊµÀý±äÁ¿¡¢ÊµÀý·½·¨
- JSPÒ³ÃæµÄÎåÖÖÌø×ª·½·¨
ÆÀÂÛ