StringBuffer笔记
生活随笔
收集整理的這篇文章主要介紹了
StringBuffer笔记
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
簡(jiǎn)要的說(shuō), String 類型和 StringBuffer 類型的主要性能區(qū)別其實(shí)在于 String 是不可變的對(duì)象
因此在每次對(duì) String 類型進(jìn)行改變的時(shí)候其實(shí)都等同于生成了一個(gè)新的 String 對(duì)象,然后將指針指向新的 String 對(duì)象,
所以經(jīng)常改變內(nèi)容的字符串最好不要用 String ,因?yàn)槊看紊蓪?duì)象都會(huì)對(duì)系統(tǒng)性能產(chǎn)生影響,特別當(dāng)內(nèi)存中無(wú)引用對(duì)象多了以后,
JVM 的 GC 就會(huì)開(kāi)始工作,那速度是一定會(huì)相當(dāng)慢的。這里嘗試舉個(gè)不是很恰當(dāng)?shù)睦?#xff1a; String S1 = “abc”; For(int I = 0 ; I < 10000 ; I ++) // For 模擬程序的多次調(diào)用 { S1 + = “def”; S1 = “abc”; }如果是這樣的話,到這個(gè) for 循環(huán)完畢后,如果內(nèi)存中的對(duì)象沒(méi)有被 GC 清理掉的話,內(nèi)存中一共有 2 萬(wàn)多個(gè)了
牽扯到String里內(nèi)容不斷變換的時(shí)候用StringBuffer,
String S1 = “This is only a” + “ simple” + “test”; 速度要比 StringBuffer Sb = new StringBuilder(“This is only a”).append(“ simple”).append(“ test”); 快出很多
String S2 = “This is only a”; String S3 = “ simple”; String S4 = “ test”; String S1 = S2 +S3 + S4;
速度則會(huì)慢很多
以上內(nèi)容摘抄于http://blog.csdn.net/shirleyacount/article/details/39958371
因此在每次對(duì) String 類型進(jìn)行改變的時(shí)候其實(shí)都等同于生成了一個(gè)新的 String 對(duì)象,然后將指針指向新的 String 對(duì)象,
所以經(jīng)常改變內(nèi)容的字符串最好不要用 String ,因?yàn)槊看紊蓪?duì)象都會(huì)對(duì)系統(tǒng)性能產(chǎn)生影響,特別當(dāng)內(nèi)存中無(wú)引用對(duì)象多了以后,
JVM 的 GC 就會(huì)開(kāi)始工作,那速度是一定會(huì)相當(dāng)慢的。這里嘗試舉個(gè)不是很恰當(dāng)?shù)睦?#xff1a; String S1 = “abc”; For(int I = 0 ; I < 10000 ; I ++) // For 模擬程序的多次調(diào)用 { S1 + = “def”; S1 = “abc”; }如果是這樣的話,到這個(gè) for 循環(huán)完畢后,如果內(nèi)存中的對(duì)象沒(méi)有被 GC 清理掉的話,內(nèi)存中一共有 2 萬(wàn)多個(gè)了
牽扯到String里內(nèi)容不斷變換的時(shí)候用StringBuffer,
String S1 = “This is only a” + “ simple” + “test”; 速度要比 StringBuffer Sb = new StringBuilder(“This is only a”).append(“ simple”).append(“ test”); 快出很多
String S2 = “This is only a”; String S3 = “ simple”; String S4 = “ test”; String S1 = S2 +S3 + S4;
速度則會(huì)慢很多
以上內(nèi)容摘抄于http://blog.csdn.net/shirleyacount/article/details/39958371
轉(zhuǎn)載于:https://www.cnblogs.com/qiangqiangqiang/p/7613684.html
總結(jié)
以上是生活随笔為你收集整理的StringBuffer笔记的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: mysql之子查询作业
- 下一篇: 【BZOJ】 2463 [中山市选200