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的上下文相关操做。