為什麼StringBuilder執行緒不安全?

2021-10-03 13:39:51 字數 414 閱讀 9036

stringbuilder和stringbuffer的內部實現跟string類一樣,都是通過乙個char陣列儲存字串的,不同的是string類裡面的char陣列是final修飾的,是不可變的,而stringbuilder和stringbuffer的char陣列是可變的。

//儲存字串的具體內容

char

value;

//已經使用的字元陣列的數量

int count;

stringbuilder相比stringbuffer效率更高,但多執行緒不安全,在單執行緒中字串的頻繁拼接使用stringbuilder效率更高,對於多執行緒使用stringbuffer則更安全,字串簡單操作時沒必要使用上述兩者,還是用string型別提高速度。

為什麼stringbuilder執行緒不安全?

string系列 StringBuilder實現

借助c 原始碼中stringbuilder的的實現,在c 中實現乙個stringbuilder類。非常簡單,關鍵在實現字串的連線上,直接上 stringbuilder關鍵的實現在於解決多次字串操作後的記憶體碎片問題,下面的 只是乙個玩具,記憶體增長方式可以自定義,這裡我使用的是二倍增長,你也可以4倍...

為什麼為什麼為什麼為什麼為什麼你要做一名程式設計師?

from 本文是從 why why why why why are you a developer?這篇文章翻譯而來。做乙個程式設計師很忙,你需要去寫 去建立meme,去進行測試,以及隨時關注最新最熱的gem 開源軟體技術。最近,我一直在想讓自己的節奏慢下來,去做一些心裡一直想做但沒有去做的事,去思...

JDK原始碼解析 StringBuilder

stringbuilder和stringbuffer一樣,都是繼承自抽象類abstractstringbuilder類,也是乙個可變的字串行。stringbuilder和stringbuffer非常相似,甚至有互相相容的api,不過,stringbuilder不是執行緒安全的,這是和stringbu...