List,Set,Map,有什麼區別?web
List和Set實際上市實現了Collection接口,那麼Collection接口的原理你能簡單描述一下嗎?面試
List接口能夠插入多個NULL值,而且重複值,並且LIST是一個有序的集合。spring
Set是一個不可重複的集合,裏面的元素都只出現,最多隻出現1次,而且SET是一個無序容器,TreeSet....app
TreeSet實現了一個什麼接口?TreeSet實現了一個SortedSet接口。因此能保持它的有序性。webapp
Collections.sort方法,第二個參數是實現了一個Comparator接口裏面的CompareTo方法。spa
Spring的加載機制是什麼?若是你什麼都回答不出來,那麼證實你對spring一無所知,真的。代理
咱們首先須要瞭解幾個基本的類,ServletContextLoader,ServletContextListener.ContextLoader這個幾個類,層次關係以下:code
class ContextLoaderListener extends ContextLoader implements ServletContextListener
其中ServletContextLoader依賴於它的父類blog
,而它的父類其實只作了一個初始化的操做,有一點要注意,就是WebApplicationContext類,這個要注意!接口
這裏要注意下,WebApplicationContext實際上是一個抽象的東西,其實咱們日常用得比較多的就是XmlWebApplicationContext!
有幾個方法很重要,分別是servlet的初始化和銷燬的方法,爲何說這些方法重要?由於它對應着生命週期中的一些東西,沒有建立和銷燬,就沒有生命週期。
因此若是面試官問到你,servlet,listener,filter的加載順序的時候,你能夠回答:先是listener,是servlet而後纔是filter 爲何這樣呢,由於是先經過listener去監聽webapplicationContext是否被加載,經過WebApplicationEvent類去建立servletContext上下文,而在ServletContext上下文被建立以前,filter做爲一個相似AOP的東西,首先做爲動態代理被建立,只有實現了AOP,才能實現ServletContext的上下文相關操做。