ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

集合框架1

集合框架1 ArrayList10N/A元素数当前容量1.5倍增长HashMap160.75元素数容量×负载因子2倍增长hashset底层使用hashmap实现hashmap数组链表红黑树 hash算法用链表是来解决数组下标会覆盖的问题冲突的问题。为什么hashmap用两个数据结构头插法、尾插法头插法多线程出现死循环cpu 100%扩容时从头节点开始插put和get都使用hash算法红黑树的查询效率当链表长度8且容量大小大于64的时候转红黑树6红黑树转链表ConcurrentHashMap并发安全mapcas乐观锁锁粒度非常小只在链表头节点、红黑树上加锁synchronizedlog2n二分法查找的时间复杂度为 ‌O(log⁡n)‌synchronized会发生上下文切换链表1、覆盖2、直接插入next尾部没有用头插法上图原因1计算位置原因2防止hash冲突
返回列表