原始碼分析 StringBuilder

2022-07-04 05:42:12 字數 1231 閱讀 1479

stringbuilder是繼承自abstractstringbuilder的.

我每篇文章都說. 請忽略我的"my". 我copy了jdk的**, 然後把stringbuilder改為了mystringbuilder. 核心原始碼不會改動的.

無參構造器是預設的大小為16.

或者可以直接給定大小. 來規定初始化時的陣列大小.

如果是根據傳入字串來構造的, 那麼初始大小就是: 傳入的字串長度+16.

可以看到, 下面這些方法, 都是直接呼叫了父類abstractstringbuilder類的方法. 只是多加了一行return this. 

insert(過載有很多, 挑了乙個):

abstractstringbuilder類裡的tostring方法是抽象方法, 所以具體實現在子類裡.

雖然很簡單, 但還是總結一下吧.

2. 實現了tostring方法. 內部實現就是每次tostring都是new乙個string物件.

3. 其他方法都是呼叫的父類的方法. 只是多加了一行return this;

4. (區別於stringbuffer) , 明顯stringbuilder執行緒不安全.

spring原始碼分析 spring原始碼分析

1.spring 執行原理 spring 啟動時讀取應用程式提供的 bean 配置資訊,並在 spring 容器中生成乙份相應的 bean 配置登錄檔,然後根據這張登錄檔例項化 bean,裝配好 bean 之間的依賴關係,為上 層應用提供準備就緒的執行環境。二 spring 原始碼分析 1.1spr...

思科VPP原始碼分析(dpo機制原始碼分析)

vpp的dpo機制跟路由緊密結合在一起。路由表查詢 ip4 lookup 的最後結果是乙個load balance t結構。該結構可以看做是乙個hash表,裡面包含了很多dpo,指向為下一步處理動作。每個dpo都是新增路由時的乙個path的結果。dpo標準型別有 dpo drop,dpo ip nu...

redux原始碼分析(三) 原始碼部分

下面是每個部分的一些解讀 createstore apicreatestore reducer,initialstate enhancer 曾經非常好奇這個函式的第二個引數到底是initialstate還是enhancer,因為見過兩種寫法都有的,以為是版本問題。看了原始碼才發現,都可以的。如果你不...