Java面试总结一

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,会导致对象的访问不是线程安全的。

猜你喜欢

转载自blog.csdn.net/m0_37739193/article/details/109106036