集合
Longtermevolution
人生不要太匆匆,不急,慢慢来吧
展开
-
hashmap 21问
目录1、HashMap 的数据结构?2、HashMap 的工作原理?3、当两个对象的 hashCode 相同会发生什么?4、你知道 hash 的实现吗?为什么要这样实现?5.为什么要用异或运算符?6.HashMap 的 table 的容量如何确定?loadFactor 是什么?该容量如何变化?这种变化会带来什么问题?7.HashMap中put方法的过程?8.数组扩容的过程?9.拉链法导致的链表过深问题为什么不用二叉查找树代替,而选择红黑树?为什么不一直使用红黑树?10原创 2020-10-06 10:14:38 · 155 阅读 · 0 评论 -
hashmap 1.8 就是线程安全的吗?
参考:HashMap1.8与ConcurrentHashMap1.8线程安全比较1、HashMap初始化时;2、在向null节点添加元素时3、在对同一个数组中的元素操作时。4、数组扩容时出现的线程安全问题。原创 2020-09-25 19:59:25 · 681 阅读 · 0 评论 -
ConcurrentHahMap 基于源码解析
参考:https://zhuanlan.zhihu.com/p/356689361、简单总结JDK1.8底层是散列表+红黑树、JDK1.7底层是segments + HashEntry数组; ConCurrentHashMap支持高并发的访问和更新,它是线程安全的; 检索操作不用加锁,get方法是非阻塞的; key和value都不允许为null2、JDK1.7segments+HashEntry数组解析参考:https://zhuanlan.zhihu.com/p/4975435...原创 2020-09-22 10:56:06 · 117 阅读 · 0 评论 -
hashmap总结 -- 参考文章版
底层原理:https://zhuanlan.zhihu.com/p/780795981、底层原理:put、get;2、为甚hashMap的长度要为2的幂次;高并发下的hashmap:https://zhuanlan.zhihu.com/p/316141951、Hashmap在插入元素过多的时候需要进行Resize,Resize的条件是HashMap.Size >= Capacity * LoadFactor。2、Hashmap的Resize包含扩容和ReHas.原创 2020-09-03 14:56:28 · 127 阅读 · 0 评论 -
关于容器的线程安全性
1、概略:https://www.cnblogs.com/cgy-home/p/11184124.html线程安全(Thread-safe)的集合对象:VectorHashTableStringBuffer(?关于StringBuffer线程安全,StringBuilder线程不安全,本质是append方法是否同步)ConcurrentHashMap非线程安全的集合对象:ArrayListLinkedListHashMapHashSetTreeMapTree.原创 2020-09-01 16:36:02 · 141 阅读 · 0 评论 -
关于hashset
参考文章:https://zhuanlan.zhihu.com/p/290212761、Set接口存放元素的无序性讨。Set接口下面有些接口是可以进行对元素排序存储的,比如:Set中对插入顺序做了保留的是LinkedHashSet,当对一个LinkedHashSet对象做for(:)遍历的时候,会按照插入顺序遍历元素。2、 HashSet、TreeSet的底层本质上是将HashMap、TreeMap进行了重用。...原创 2020-09-01 10:06:52 · 90 阅读 · 0 评论