StringBuilder原始碼閱讀

2021-09-28 21:31:19 字數 1503 閱讀 7345

繼承自abstractstringbuilder;抽象類

該抽象類提供了兩個引數,如下:

/**

* the value is used for character storage.

* 和string一樣用來儲存char陣列

*/char

value;

/** * the count is the number of characters used.

* 被使用的char的長度、總數

*/int count;

(string str)

private

void

ensurecapacityinternal

(int minimumcapacity)

}/**

* copy characters from this string into dst starting at dstbegin.

* this method doesn't perform any range checking.

*/void

getchars

(char dst,

int dstbegin)

delete方法也是通過【下標的移動】確定需要複製的陣列,下標移動到前後需要複製的位置

public abstractstringbuilder delete

(int start,

int end)

return

this

;}

刪除過程如下:

public abstractstringbuilder replace

(int start,

int end, string str)

兩步操作,圖示如下:

insert就是給要插入的元素預留乙個空間,然後再把這個元素插入進來

public abstractstringbuilder insert

(int index,

char

str,

int offset,

int len)

操作圖示如下,按照序號:

AbstractCollection原始碼分析

abstractcollection抽象類提供了collection的骨架實現,collection分析請看 這裡直接看它的 是如何實現的.public abstract iterator iterator 該方法沒有實現.public abstract int size 該方法沒有實現.publi...

ThreadPoolExecutor原始碼閱讀

執行緒池解決兩個問題 一是復用執行緒,減少建立銷毀執行緒帶來系統開銷 二是限定系統資源使用邊界,避免大量執行緒消耗盡系統記憶體 適用於互不依賴,執行時間短,不需要對執行緒控制操作的執行緒 新增任務時,1.若執行緒數量小於corepoolsize,則新增執行緒執行任務 2.若執行緒數量大於等於core...

OrangePi One Android 原始碼編譯

一 系統環境搭建參照 二 lichee原始碼編譯 1.檢視help build.sh h2.配置核心 cd linux 3.4 make arch arm menuconfig 進入配置頁面,上下移動列表,空格是選擇列表,左右移動選擇退出選項 3.首次編譯執行清除 在 lichee linux3.4...