深入解析StringBuffer和StringBuilder的區(qū)別
做項目中經(jīng)常用到String和StringBuilder,String可以用“+”來對字符串進行拼接,StringBuilder用append進行拼接,一直不明白既然可以用String,問什么還要用StringBuilder。盡管在做數(shù)據(jù)庫查詢的時候,習慣性的用了StringBuilder對查詢語句進行拼接,但仍然不知道原因。今天看視頻的時候,又看到了StringBuffer,感覺用法又差不多,所以特意查了一下這些東西的區(qū)別。
歸納如下:
1.在執(zhí)行速度方面的比較:StringBuilder > StringBuffer
2.StringBuffer與StringBuilder,他們是字符串變量,是可改變的對象,每當我們用它們對字符串做操作時,實際上是在一個對象上操作的,不像String一樣創(chuàng)建一些對象進行操作,所以速度就快了。
3.StringBuilder:線程非安全的
StringBuffer:線程安全的
當我們在字符串緩沖去被多個線程使用是,JVM不能保證StringBuilder的操作是安全的,雖然他的速度最快,但是可以保證StringBuffer是可以正確操作的。當然大多數(shù)情況下就是我們是在單線程下進行的操作,所以大多數(shù)情況下是建議用StringBuilder而不用StringBuffer的,就是速度的原因。
對于三者使用的總結(jié):
1.如果要操作少量的數(shù)據(jù)用 String
2.單線程操作字符串緩沖區(qū) 下操作大量數(shù)據(jù) StringBuilder
3.多線程操作字符串緩沖區(qū) 下操作大量數(shù)據(jù) StringBuffer
- 全面解釋java中StringBuilder、StringBuffer、String類之間的關(guān)系
- java中String與StringBuilder的區(qū)別
- java 中String和StringBuffer與StringBuilder的區(qū)別及使用方法
- Java中StringBuilder字符串類型的操作方法及API整理
- Java之String、StringBuffer、StringBuilder的區(qū)別分析
- Java那點事——StringBuffer與StringBuilder原理與區(qū)別
- 深入理解StringBuilder的使用方法
- Java StringBuilder和StringBuffer源碼分析
- java StringBuilder類的詳解及簡單實例
- StringBuilder為什么線程不安全深入講解
相關(guān)文章
java web中的servlet3 upload上傳文件實踐
這篇文章主要介紹了servlet3 upload上傳文件實踐,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2017-11-11有關(guān)ServletConfig與ServletContext的訪問
下面小編就為大家?guī)硪黄嘘P(guān)ServletConfig與ServletContext的訪問。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-01-01關(guān)于jpa中無法刪除onetomany中many問題的解決
這篇文章主要介紹了關(guān)于jpa中無法刪除onetomany中many問題的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-12-12Java常用HASH算法總結(jié)【經(jīng)典實例】
這篇文章主要介紹了Java常用HASH算法,結(jié)合實例形式總結(jié)分析了Java常用的Hash算法,包括加法hash、旋轉(zhuǎn)hash、FNV算法、RS算法hash、PJW算法、ELF算法、BKDR算法、SDBM算法、DJB算法、DEK算法、AP算法等,需要的朋友可以參考下2017-09-09解決IDEA2020.1.2IDEA打不開的問題(最新分享)
由于idea安裝多了某個jar,點擊出現(xiàn)讀條后閃退情況,接下來通過本文給大家分享解決IDEA2020.1.2IDEA打不開的問題,非常不錯,具有一定的參考借鑒價值,感興趣的朋友跟隨小編一起看看吧2020-07-07Spring ApplicationListener的使用詳解
這篇文章主要介紹了Spring ApplicationListener的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-06-06MybatisPlus使用Wrapper實現(xiàn)條件查詢功能
這篇文章主要介紹了MybatisPlus使用Wrapper實現(xiàn)查詢功能,使用它可以實現(xiàn)很多復(fù)雜的查詢,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-06-06