久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長(zhǎng)資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      string,stringbuffer以及stringbuilder的區(qū)別

      string,stringbuffer以及stringbuilder的區(qū)別

      string,stringbuffer以及stringbuilder的區(qū)別?

      小編在一次電話面試中,被問過StringBuilder是線程安全的嗎,脫口而出是安全的,結(jié)果人家質(zhì)疑我你是2年開發(fā)經(jīng)驗(yàn)嗎。長(zhǎng)時(shí)間得不使用這個(gè)類,造成了我選擇的性的忘記,也可以說是基礎(chǔ)不牢吧。不知道大家有沒有過這樣的經(jīng)歷,所以還是筆頭上記錄,更能增加我的記憶力。

      String:大家都知道String是使用final修飾的,所以它的值是不可變的,這就導(dǎo)致每次對(duì)String的操作都會(huì)生成新的String對(duì)象,這樣不僅效率低下,而且大量浪費(fèi)有限的內(nèi)存空間,如圖:

      string,stringbuffer以及stringbuilder的區(qū)別

      我們可以看到,初始String值為“abc”,然后在這個(gè)字符串后面加上新的字符串“bv”,這個(gè)過程是需要重新在棧堆內(nèi)存中開辟內(nèi)存空間的,最終得到了“abcbv”字符串也相應(yīng)的需要開辟內(nèi)存空間,這樣短短的兩個(gè)字符串,卻需要開辟三次內(nèi)存空間,不得不說這是對(duì)內(nèi)存空間的極大浪費(fèi)。為了應(yīng)對(duì)經(jīng)常性的字符串相關(guān)的操作,引入了兩個(gè)新的類——StringBuffer類和StringBuild類來對(duì)此種變化字符串進(jìn)行處理。

      string,stringbuffer以及stringbuilder的區(qū)別

      StringBuilder類:在 Java 5 中被提出,特點(diǎn)是可變字符串。執(zhí)行效率高,線程不安全。

      StringBuffer類:特點(diǎn)是可變字符串,執(zhí)行效率低,線程安全。

      可以看得出時(shí)間上更快一些。

      總結(jié):

      • 如果要操作少量的數(shù)據(jù)用 String;

      • 多線程操作字符串緩沖區(qū)下操作大量數(shù)據(jù) StringBuffer;

      • 單線程操作字符串緩沖區(qū)下操作大量數(shù)據(jù) StringBuilder。

      推薦教程: 《java教程》

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)