首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
集合
订阅
编程的小火箭
更多收藏集
微信扫码分享
微信
新浪微博
QQ
14篇文章 · 0订阅
今天去阿里面试,一个HashMap,我就和面试题整整说了一小时!
前言HashMap应该算是Java后端工程师面试的必问题,因为其中的知识点太多,很适合用来考察面试者的Java基础。HashMap是Java最长用的集合之一,在JDK源码中,HashMap的设计非常E
【两万字】面试官:听说你很懂集合源码,接我二十道问题!
这个图由Map指向Collection的Produces并不是说Map是Collection的一个子类(子接口),这里的意思是指Map的KeySet获取到的一个视图是Collection的子接口。 我们可以看到集合有两个基本接口:Map和Collection。但是我个人认为Ma…
死磕 java集合之TreeMap源码分析(四)——红黑树全解析
欢迎关注我的公众号“彤哥读源码”,查看更多源码系列文章, 与彤哥一起畅游源码的海洋。 我们知道二叉查找树的遍历有前序遍历、中序遍历、后序遍历。 这里的前中后都是以“我”的顺序为准的,我在前就是前序遍历,我在中就是中序遍历,我在后就是后序遍历。 从上面二叉树的遍历我们很明显地看到…
死磕 java集合之WeakHashMap源码分析
欢迎关注我的公众号“彤哥读源码”,查看更多源码系列文章, 与彤哥一起畅游源码的海洋。 WeakHashMap是一种弱引用map,内部的key会存储为弱引用,当jvm gc的时候,如果这些key没有强引用存在的话,会被gc回收掉,下一次当我们操作map的时候会把对应的Entry整…
死磕 java集合之HashMap源码分析
欢迎关注我的公众号“彤哥读源码”,查看更多源码系列文章, 与彤哥一起畅游源码的海洋。 HashMap采用key/value存储结构,每个key对应唯一的value,查询和修改的速度都很快,能达到O(1)的平均时间复杂度。它是非线程安全的,且不保证元素存储的顺序; HashMap…
我所理解的JDK系列·第3篇·HashMap八股文知多少?
1. HashMap简述 HashMap是一个基于哈希表实现的无序的key-value容器,它键和值都允许设置为null,但是它是线程不安全的,同时在默认情况下如果HashMap元素超过默认容量的0.75时会进行扩容,将容量扩大为原来的两倍。 在JDK1.7以前HashMap底…
死磕 java集合之TreeMap源码分析(二)——红黑树全解析
欢迎关注我的公众号“彤哥读源码”,查看更多源码系列文章, 与彤哥一起畅游源码的海洋。 插入元素,如果元素在树中存在,则替换value;如果元素不存在,则插入到对应的位置,再平衡树。 插入的元素默认都是红色,因为插入红色元素只违背了第4条特性,那么我们只要根据这个特性来平衡就容易…
死磕 java集合之TreeMap源码分析(一)——红黑树全解析
欢迎关注我的公众号“彤哥读源码”,查看更多源码系列文章, 与彤哥一起畅游源码的海洋。 TreeMap使用红黑树存储元素,可以保证元素按key值的大小进行遍历。 TreeMap实现了Map、SortedMap、NavigableMap、Cloneable、Serializable…
死磕 java集合之LinkedHashMap源码分析
欢迎关注我的公众号“彤哥读源码”,查看更多源码系列文章, 与彤哥一起畅游源码的海洋。 LinkedHashMap内部维护了一个双向链表,能保证元素按插入的顺序访问,也能以访问顺序访问,可以用来实现LRU缓存策略。 LinkedHashMap可以看成是 LinkedList + …
死磕 java集合之CopyOnWriteArrayList源码分析
欢迎关注我的公众号“彤哥读源码”,查看更多源码系列文章, 与彤哥一起畅游源码的海洋。 CopyOnWriteArrayList是ArrayList的线程安全版本,内部也是通过数组实现,每次对数组的修改都完全拷贝一份新的数组来修改,修改完了再替换掉老数组,这样保证了只阻塞写操作,…