Java Collection问题合集

【1】HashMap

HashMap原理以及为什么需要同时实现equals和hashcode:https://www.jianshu.com/p/316284bf1217
HashMap 源码详细分析(JDK1.8):https://segmentfault.com/a/1190000012926722
HashMap中的为什么hash的长度为2的幂而&位必须为奇数:https://blog.csdn.net/zjcjava/article/details/78495416
美团面试题:Hashmap的结构,1.7和1.8有哪些区别,史上最深入的分析:https://blog.csdn.net/qq_36520235/article/details/82417949

【2】CopyOnWriteArrayList

聊聊并发-Java中的Copy-On-Write容器:http://ifeve.com/java-copy-on-write/

思考:ArrayList不能保证可见性?通过查阅源码,字段object[] elementData确实没有用voliate修饰,不过就算用voliate修饰也不能保证数组对象的可见性!!!
【3】LinkHashMap

双向链表加HashMap,有两种排序方式:插入排序,访问排序。迭代是按照顺序的。
https://www.jianshu.com/p/8f4f58b4b8ab

【4】ConcurrentHashMap

CAS 当桶为空时使用cas插入,否则要sync去遍历链表

你可能感兴趣的:(Java Collection问题合集)