1.arraylist和linkedlist的区别
ArrayList是实现了基于动态数组的数据结构,而LinkedList是基于链表的数据结构;对于随机访问get和set,ArrayList要优于LinkedList,因为LinkedList要移动指针;
2.hashmap和hashtable的区别
HashMap不是线程安全的,HashTable是线程安全的。HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许将null作为一个entry的key或者value,而Hashtable不允许,由于非线程安全,效率上可能高于Hashtable。
3.懒汉模式和饿汉模式的区别
懒汉模式:在类加载的时候不被初始化。
饿汉模式:在类加载时就完成了初始化,但是加载比较慢,获取对象比较快。
饿汉模式是线程安全的,在类创建好一个静态对象提供给系统使用,懒汉模式在创建对象时不加上synchronized,会导致对象的访问不是线程安全的。