本文原創(chuàng)文章,轉(zhuǎn)載注明出處,博客地址 https://segmentfault.com/u/to... 第一時間看后續(xù)精彩文章。覺得好的話,順手分享到朋友圈吧,感謝支持。
筆者經(jīng)常忘記三者之間的區(qū)別,下面自己總結(jié)一番,畫一個表格來展示
Item | "+"區(qū)別 | 多線程 | 性能 | 使用場景 | 優(yōu)化 |
---|---|---|---|---|---|
String | 不可變類,重新創(chuàng)建字符串 | 不安全 | 拼接時,性能差 | 操作少量數(shù)據(jù),字符串不變時 | 無 |
StringBuilder | 可變類,原字符串基礎(chǔ)上生成字符串 | 不安全 | 性能最好(比StringBuffer高10%-15%) | 單線程操作大量數(shù)據(jù)(方法內(nèi)部,用完回收) | 盡可能指定容量(默認(rèn):16,不超過16個字符不用指定),不指定顯著降低性能 |
StringBuffer | 可變類,原字符串基礎(chǔ)上生成字符串 | 安全 | 性能好 | 主要用在全局變量中,多線程下安全 | 同上 |
在現(xiàn)實(shí)的模塊化編程中,負(fù)責(zé)某一模塊的程序員不一定能清晰的判斷該模塊是否會放入多線程的環(huán)境中運(yùn)行,除非確定系統(tǒng)的瓶頸是在StringBuffer上,并且確定你的模塊不會運(yùn)行在多線程模式下,才可以采用StringBuilder,否則還是用StringBuffer
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/70349.html
摘要:和它們都是可變的字符串,不過它們之間的區(qū)別是初中級面試出現(xiàn)幾率十分高的一道題。區(qū)別線程安全線程安全,線程不安全。區(qū)別性能既然是線程安全的,它的所有公開方法都是同步的,是沒有對方法加鎖同步的,所以毫無疑問,的性能要遠(yuǎn)大于。 StringBuffer 和 StringBuilder 它們都是可變的字符串,不過它們之間的區(qū)別是 Java 初中級面試出現(xiàn)幾率十分高的一道題。這么簡單的一道題,棧...
摘要:與類基本相同,都是可變字符換字符串序列,不同點(diǎn)是是線程安全的,是線程不安全的。和區(qū)別在大部分情況下是線程安全的可變字符序列。在程序中可將字符串緩沖區(qū)安全地用于多線程。 轉(zhuǎn)載自飄過的小牛 我們先要記住三者的特征: String 字符串常量 StringBuffer 字符串變量(線程安全) StringBuilder 字符串變量(非線程安全) 一、定義 showImg(/...
摘要:與都繼承自類,在中也是使用字符數(shù)組保存字符串,,這兩種對象都是可變的。采用字節(jié)碼的好處語言通過字節(jié)碼的方式,在一定程度上解決了傳統(tǒng)解釋型語言執(zhí)行效率低的問題,同時又保留了解釋型語言可移植的特點(diǎn)。 String和StringBuffer、StringBuilder的區(qū)別是什么?String為什么是不可變的? String和StringBuffer、StringBuilder的區(qū)別 可變性...
摘要:如果對于經(jīng)常改變內(nèi)容的字符串,使用效率高,但是它只適用于單線程的場景,在多線程場景下,容易導(dǎo)致數(shù)據(jù)不一致的現(xiàn)象出現(xiàn)。多線程場景下,要使用。在大部分情況下,線程安全的可變字符序列??蓪⒆址彌_區(qū)安全地用于多個線程。 本人博客 http://www.cnblogs.com/runfor... 總結(jié): 1.String是字符串常量,StringBuffer是線程安全的字符串變量,Stri...
摘要:所以如果要進(jìn)行的操作是多線程的,那么就要使用,但是在單線程的情況下,還是建議使用速度比較快的??偨Y(jié)一下適用于少量的字符串操作的情況適用于單線程下在字符緩沖區(qū)進(jìn)行大量操作的情況適用多線程下在字符緩沖區(qū)進(jìn)行大量操作的情況 [TOC] 原文鏈接:[https://www.cnblogs.com/su-fe...]: 這三個類之間的區(qū)別主要是在兩個方面,即運(yùn)行速度和線程安全這兩方面 1、首先說...
閱讀 3213·2021-09-22 14:59
閱讀 2014·2021-09-22 10:02
閱讀 2182·2021-09-04 16:48
閱讀 2325·2019-08-30 15:53
閱讀 3040·2019-08-30 11:27
閱讀 3510·2019-08-29 18:35
閱讀 1020·2019-08-29 17:07
閱讀 2733·2019-08-29 13:27