hashmap原始碼
建立不指定大小的話,集合不進行初始化,第一次新增的時候進行初始化。
初始化長度為16,閾值為0.75
自動增加長度時機為16 * 0.75=12,當長度達到12時,增加長度,預設增加為2 * length,也就是2*16=32
hashmap的資料結構為陣列+鍊錶的結構
儲存方式為key的hash值對(length-1)取余為陣列角標,鍊錶儲存判斷雜湊值,雜湊值相同判斷是否key相同,相同覆蓋,不相同,增加最新的資料,同時在entry內記錄原來的資料。
hashmap的最大長度為2的30次方。
arraylist原始碼
預設大小為10,觸發擴容時機為達到當前容量
增添和刪除基本時通過system.arraycopy方法,
擴容時使用的是arrays.copyof方法,建立新的object[ ] ,然後將原來集合的資料賦值過去
每次擴容為當前容量的二進位制右移一位,增加0.5倍,10->15->22
最大容量為2^31-1
SpringAOP原始碼學習總結
1.使用 enableaspectjautoproxy啟用aop 2.建立abstractautoproxycreator 使用 enableaspectjautoproxy後,可以看到會 import aspectjautoproxyregistrar.class aspectjautoproxy...
EasyUI學習總結 四 parser原始碼分析
parser模組是easyloader第乙個載入的模組,它的主要作用,就是掃瞄頁面上easyui開頭的class標籤,然後初始化成easyui控制項。1 2 parser模組主要是解析頁面中easyui的控制項 3 4 parser else if window.easyloader 35 36 3...
ArrayList原始碼總結
1.1無引數建構函式 public arraylist private static final object empty elementdata public boolean add e e private void ensurecapacityinternal int mincapacity e...