Java集合&Spring原始碼淺讀
記錄自己現在知道的,以後瞭解了更多的話,再繼續補上來
Java集合類
Collection 介面
說明:是List,set 的父類。定義了集合初始模樣。集合只儲存物件。
Jdk8文件,內部方法定義有:
List介面
說明:有序集合,可重複,繼承Collection。常用實現類ArrayList,LinkedLiist。不常用但是得知道得Vector,Stack
ArrayList: 陣列集合 查詢快 ,增刪慢
LinkedList: 連結串列集合 查詢慢 增刪快
vactor 執行緒安全 stack
Set介面
說明:無序集合,不可重複,繼承Collection。常用實現類 HashSet,TreeSet ,LinkedHashSet。
HashSet : 無序不重複 內部實現原理 參考HashMap,相同的Value,不同的Key
LinkedHashSet :雙向連結串列。內部實現原理參考LinkedHashMap,按照插入順序排序。
TreeSet :紅黑樹。內部實現原來參考TreeMap。
Map介面
說明: 不能重複 key-value組成的entry物件 內部資料結構為陣列連結串列 通過key的hashCode 進行hash演算法 確定該entry放這個陣列的哪裡 如果該位置上有entry在上面的話 用equals 判斷內容是否相等 如果不相等 該位置變成連結串列形式 該entry防止連結串列頭部(醒來的用到的頻率更高) 常用實現類:HashMap LinkedHashMap TreeMap hashTable
HashMap :不可重複,無序,陣列連結串列 entry物件為內部資料結構
HashTable :執行緒安全 沒具體研究過 sycn 修飾整個方法
LinkHashMap: 連結串列Hash 有序 按照插入順序排序
TreeMap: 紅黑樹 Hash 有序 實現了SortMap 按照key大小排序 也可以定製排序規則
queue
queue 佇列
spring原始碼深度解析總結
Spring IOC容器的基本實現
- 將資原始檔 也就是XML檔案用ResourceLoader 讀取成Resource資源,
- 再將Resource用DocumentLoader讀取Resource變成Document。
- 然後用BeanDoucmentReader進行Document讀取,屬性的解析變成Bean,
- 註冊到IOC容器上。
XML檔案驗證
XML檔案驗證分為DTD ,XSD
DTD XML檔案規則的定義 spring自定了DTD
XTD DTD+XML 用Spring定義的規則 定義XML檔案 xsd: 名稱空間
xsd:scamalLocation = 檔案規則儲存路徑