AbstractStringBuilder 類java
AbstractStringBuilder 類實現了Appendable和CharSequence。數組
先看一下Appendable,它是一個可用於追加的接口,jdk1.5出現的,這個接口在多線程狀況下是線程不安全的,線程安全性由他的實現類來保證。這個接口的各個現有實現類具備不一樣錯誤處理風格,所以不能保證錯誤將傳播到調用程序。安全
再看一下接口CharSequence,CharSequence是一組可讀的字符值序列。該接口提供對許多不一樣類型的字符序列的統一隻讀訪問。這個接口沒有細化{@link java.lang.Object#equals(java.lang.Object) =}和{@link java.lang.Object#hashCode() hashCode}方法的通常契約。所以,比較實現CharSequence的兩個對象的結果一般是未定義的。每一個對象均可以由不一樣的類實現,而且不能保證每一個類都可以測試它的實例與其餘類的實例是否相等。所以,將任意CharSequence實例用做set集合中的元素或map映射中的鍵是不合適的。多線程
看完這2個接口以後,咱們回到AbstractStringBuilder 類。這個類有2個屬性,字節數組value:用來儲存字節。count:被使用的字節的數量。測試
這個類有2個構造方法,無參和有參的構造方法,有參構造方法,用於建立指定容量的AbstractStringBuilder。ui
看一下這個類的幾個方法:.net
這個是擴容的方法,我比較好奇的是加2的意義。線程
再就是,這段代碼在擴容,截取的時候都是很不錯的,並且是native修飾的。對象
別的方法都很簡單,而後看一下就差很少了,我就沒作什麼筆記。blog