https://juejin.cn/post/6844903847572275207
https://www.cnblogs.com/tanshaoshenghao/p/10915055.html
https://blog.csdn.net/weixin_44906271/article/details/105880719
https://www.cnblogs.com/chansblogs/p/8387801.html
https://www.cnblogs.com/coderD/p/13828628.html
https://www.w3cschool.cn/article/53470374.html
https://blog.csdn.net/legendaryhaha/article/details/88397984
https://www.cnblogs.com/smart-hwt/p/8257330.html
http://c.biancheng.net/view/1046.html
https://www.cnblogs.com/mark5/p/16571343.html
https://zhuanlan.zhihu.com/p/531524782
https://zhuanlan.zhihu.com/p/259368621
https://blog.csdn.net/guangdeshishe/article/details/113820557
https://developer.aliyun.com/article/808363
https://blog.csdn.net/qq_32575047/article/details/79949823
https://blog.csdn.net/weixin_45712075/article/details/120051192
https://blog.csdn.net/qq_44840148/article/details/106149956
https://blog.csdn.net/qq_47897078/article/details/120211873
https://juejin.cn/post/7198476152632049719
https://blog.csdn.net/qq_40960093/article/details/102939331
https://blog.csdn.net/clair_chen/article/details/116005614
https://juejin.cn/post/6999797611146248222
https://www.cnblogs.com/9dragon/p/10901448.html
https://blog.csdn.net/mocas_wang/article/details/107621010
https://cloud.tencent.com/developer/article/1943450
https://blog.csdn.net/qq_36279445/article/details/109095931
https://developer.aliyun.com/ask/418791
https://juejin.cn/post/7217655750851149861
https://cloud.tencent.com/developer/article/1354352
https://blog.csdn.net/cnds123321/article/details/113385921
https://blog.csdn.net/weixin_42412843/article/details/124450055 https://javabetter.cn/string/intern.html
intern方法: 第一,使用双引号声明的字符串对象会保存在字符串常量池中。 第二,使用 new 关键字创建的字符串对象会先从字符串常量池中找,如果没找到就创建一个,然后再在堆中创建字符串对象;如果找到了,就直接在堆中创建字符串对象。 第三,执行 String.intern() 方法的时候,如果对象在堆中已经创建了,字符串常量池中就不需要再创建新的对象了,而是直接保存堆中对象的引用
https://www.cnblogs.com/toSeeMyDream/p/6434696.html
https://developer.aliyun.com/article/640124
https://segmentfault.com/a/1190000021292121
https://blog.csdn.net/yldmkx/article/details/116676428
8、Collection和Collections有什么区别 https://juejin.cn/post/7238310754498707511
9、HashMap和Hashtable有什么区别
10、Hashmap和Treemap的区别
11、HashMap的实现原理
12、HashSet的实现原理
13、ArrayList和LinkedList的区别
14、ArrayList和Vector的区别
15、哪些集合类是线程安全的
1、HashMap有哪些特性?
2、HashMap的底层实现原理
3、HashMap中put方法是如何实现的
4、HashMap的扩容机制
5、HashMap的get是如何实现的
6、HashMap中hash函数是怎么实现的?还有哪些hash函数的实现方式?
7、为什么不直接将key作为哈希值而是与高16位做异或运算
8、为什么是16?为什么必须是2的幂?如果输入值不是2的幂比如10会怎么样?
9、谈一下当两个对象的hashCode相等时会怎么样?
10、如果两个键的hashcode相同,你如何获取值对象?
11、如果HashMap的大小超过了负载因子(load factor)定义的容量,怎么办
12、HashMap和HashTable的区别
13、请解释一下HashMap的参数loadFactor,它的作用是什么?
14、传统hashMap的缺点(为什么引入红黑树?):
15、平时在使用HashMap时一般使用什么类型的元素作为Key?
16、拉链法导致的链表过深问题为什么不用二叉查找树代替,而选择红黑树?为什么不一直使用红黑树?
17、Java 中的另一个线程安全的与 HashMap 极其类似的类是什么?同样是线程安全,它与 HashTable 在线程同步上有什么不同?
18、为什么 ConcurrentHashMap 比 HashTable 效率要高?
19、针对 ConcurrentHashMap 锁机制具体分析(JDK 1.7 VS JDK 1.8)
20、ConcurrentHashMap 在 JDK 1.8 中,为什么要使用内置锁 synchronized 来代替重入锁 ReentrantLock?
21、ConcurrentHashMap 简单介绍
22、ConcurrentHashMap 的并发度是什么?