stringbuffer也是繼承自abstractstringbuilder類,所以他也繼承了這邊的char value和count引數
//宣告為transient的陣列變數說明不會跟著序列化出去
//用來快取tostring()方法返回的最近一次的value陣列中的字元。當修改stringbuffer物件時會被清除。
private
transient
char
tostringcache;
//用來儲存字串行中的字元。value是乙個動態的陣列,當儲存容量不足時,會對它進行擴容。
char
value;
//表示value陣列中已儲存的字元數
int count;
stringbuffer的幾乎所有方法都加上了synchronized的標識,就是為了保證他的同步性
tostring方法會把快取的最後一次改變的陣列通過string建構函式返回
@override
public
synchronized string tostring()
//直接返回string
return
newstring
(tostringcache,
true);
}
其他方法因為基本是使用abstractstringbuilder繼承下來的方法加上同步字段,不多贅述,可以參考:
stringbuilder原始碼閱讀
StringBuffer原始碼分析
先說說stringbuffer中的一些特性,後面對這些特性進行有針對的分析 預設容量為16,這裡繼承的是父類abstractstringbuilder,其中動態變化的。2.stringbuffer 實現charsequence介面 字元操作 3.stringbuffer是執行緒安全的。看看原始碼就知...
《原始碼閱讀》原始碼閱讀技巧,原始碼閱讀工具
檢視某個類的完整繼承關係 選中類的名稱,然後按f4 quick type hierarchy quick type hierarchy可以顯示出類的繼承結構,包括它的父類和子類 supertype hierarchy supertype hierarchy可以顯示出類的繼承和實現結構,包括它的父類和...
Cartographer原始碼篇 原始碼分析 1
在安裝編譯cartographer 1.0.0的時候,我們可以看到 主要包括cartorgarpher ros cartographer ceres sover三個部分。其中,ceres solver用於非線性優化,求解最小二乘問題 cartographer ros為ros平台的封裝,獲取感測器資料...