Java面试题总结(不定期更新)
1.HashMap和Hashtable的区别?
HashMap:key、value都可以为空,线程不安全、初始容量16,扩容方式每次为2倍
Hashtable:不支持null key 和null value,线程安全、初始容量11,扩容方式为2n+1
2.ArrayList和LinkedList的异同?
同:
都是实现了List接口的容器类,都可以进行数据的增删改拆
异:
1.ArrayList本质是动态数组,Linkedlist本质是链表数据结构。
2.对于随机访问的get和set方法,ArrayList要优于LinkedList,因为LinkedList要移动指针。
3.对于新增和删除操作add和remove,LinkedList比较占优势,因为ArrayList要移动数据。
4.ArrayList主要控件开销在于需要在lList列表预留一定空间;而LinkList主要控件开销在于需要存储结点信息以及结点指针信息。
3.synchronized原理:
https://www.cnblogs.com/hxchaoshuai/p/9803160.html