1、java常见的容器
几乎所有的容器都继承了Collecton接口,包括List、Set、Queue、Map
List包括Vector、ArrayList、LinkedList, Set包括HashSet、TreeSet, Queue包括PriorityQueue
Map包括HashMap、TreeMap
2、HashMap、HashTable、TreeMap之间的区别
HashMap的键值可以为空,HashTable不可以;一边使用HashMap,如果键值对中key是有序的,使用TreeMap较为方便。
3、HashMap的实现原理
首先将键key映射为hashcode,所有的值通过一个数组组成,如果hashcode已经被占用,则通过链表将其链接。
4、ArrayList和LinkedList的区别
ArrayList底层是数组实现,可以实现随机访问;LinkedList底层是链表实现,不可以随机访问;
Array是固定了数组大小。
5、ArrayList和Vector的区别
在多线程中ArrayList是不安全的,而Vector实现了线程同步,是安全的。
6、守护线程
守护线程是服务线程,用来服务其他的线程