首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
容器源码
BiaDisaForTruth
创建于2021-07-29
订阅专栏
java中容器部分相关的源码解析
暂无订阅
共5篇文章
创建于2021-07-29
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
AQS源码【01】
本文正在参加「Java主题月 - Java开发实战」,详情查看:https://juejin.cn/post/6967194882926444557 这是我参与更文挑战的第3天,活动详情查看: 更文挑
LinkedHashMap笔记
在hashMap的基础上,针对数组的bin,额外添加了双向链表存储结构。 本身没什么特殊的,就是把节点挂到尾节点的后面。 可以看到LinkedHashMap其实本质上,并不是用链表取代了HashMap中的数组,而是额外维护了一个双向链表来存储数据。 一个是树化节点时调用的,一个…
HashMap相关笔记(三) - 内部类
这个是HashMap数据结构里最复杂的了,光是树节点的实现就占了整个HashCode1/4的内容,也负责了节点链表过长时的结构转变。 这里能很明确的看出,1.8的实现中TreeNode就是按照红黑树的数据结构来实现的。 之所以是继承的LinkedHashMap中的Entry,头…
HashMap相关笔记(二) - 类方法
不包含后续操作以及树状节点的话,其实实现就是数组+链表的标准hash表。 那么,K的索引位置为:101111 & 001111 = 1111,hash&oldCap=0,而且扩容后的那一位恰好是0。 因此,如果hash&oldCap==0,那么就放…
HashMap相关笔记(一)
HashMap对于fail-fast机制的实现,局限于foreach中检查。如果将HashMap作为一个整体黑盒进行使用,对fail-fast并不会有检查;自身关于fail-fast机制的实现,都是放在子类中,和1.8新增相关支持里后续补充的。 resize中是直接把链表绑定到…