首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
彤哥读源码
掘友等级
后台开发工程师
|
保密
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
105
文章 105
沸点 0
赞
105
返回
|
搜索文章
最新
热门
拜托,面试别再问我堆(排序)了!
(2)堆中某个节点的值总是不大于(或不小于)其父节点的值。 其中,我们把根节点最大的堆叫做大顶堆,根节点最小的堆叫做小顶堆。 满二叉树是指所有层都达到最大节点数的二叉树。比如,下面这颗树: 完全二叉树是指除了最后一层其它层都达到最大节点数,且最后一层节点都靠左排列。比如,下面这…
死磕 java集合之ConcurrentSkipListSet源码分析——Set大汇总
ConcurrentSkipListSet底层是通过ConcurrentNavigableMap来实现的,它是一个有序的线程安全的集合。 它的源码比较简单,跟通过Map实现的Set基本是一致,只是多了一些取最近的元素的方法。 为了保持专栏的完整性,我还是贴一下源码,最后会对Se…
死磕 java集合之CopyOnWriteArraySet源码分析——内含巧妙设计
CopyOnWriteArraySet底层是使用CopyOnWriteArrayList存储元素的,所以它并不是使用Map来存储元素的。 CopyOnWriteArrayList回顾请点击【死磕 java集合之CopyOnWriteArrayList源码分析】。 Set类的源码…
死磕 java集合之TreeSet源码分析
TreeSet底层是采用TreeMap实现的一种Set,所以它是有序的,同样也是非线程安全的。 经过前面我们学习HashSet和LinkedHashSet,基本上已经掌握了Set实现的套路了。 源码比较简单,基本都是调用map相应的方法。 而TreeSet实现了SortedSe…
死磕 java集合之LinkedHashSet源码分析
答案是当然可以。 我们今天的主角LinkedHashSet就有这个功能,它是怎么实现有序的呢?让我们来一起学习吧。 LinkedHashSet继承自HashSet,让我们直接上源码来看看它们有什么不同。 完了,结束了,就这么多,这是全部源码了,真的。 可以看到,LinkedHa…
死磕 java集合之HashSet源码分析
集合,这个概念有点模糊。 广义上来讲,java中的集合是指java.util包下面的容器类,包括和Collection及Map相关的所有类。 中义上来讲,我们一般说集合特指java集合中的Collection相关的类,不包含Map相关的类。 狭义上来讲,数学上的集合是指不包含重…
死磕 java集合之ConcurrentSkipListMap源码分析——发现个bug
点击链接查看“跳表”详细介绍。 跳表是一个随机化的数据结构,实质就是一种可以进行二分查找的有序链表。 跳表在原有的有序链表上面增加了多级索引,通过索引来实现快速查找。 跳表不仅能提高搜索性能,同时也可以提高插入和删除操作的性能。 跳表在原有的有序链表上面增加了多级索引,通过索引…
一句话,讲清楚java泛型的本质(非类型擦除)
🖕欢迎关注我的公众号“彤哥读源码”,查看更多源码系列文章, 与彤哥一起畅游源码的海洋。 刚拿到这道题,我也是一脸懵逼,这要报错也应该是在return list.toArray((T[]) new Comparable[list.size()]);这行啊,而且要报错应该两个方法…
如何阅读jdk源码?
🖕欢迎关注我的公众号“彤哥读源码”,查看更多源码系列文章, 与彤哥一起畅游源码的海洋。 这篇文章主要讲述jdk本身的源码该如何阅读,关于各种框架的源码阅读我们后面再一起探讨。 笔者认为阅读源码主要包括下面几个步骤。 凡事皆有目的,阅读源码也是一样。 从大的方面来说,我们阅读源…
死磕 java集合之ConcurrentHashMap源码分析(三)——删除元素全解析(内含彩蛋)
🖕欢迎关注我的公众号“彤哥读源码”,查看更多源码系列文章, 与彤哥一起畅游源码的海洋。 删除元素跟添加元素一样,都是先找到元素所在的桶,然后采用分段锁的思想锁住整个桶,再进行操作。 获取元素,根据目标key所在桶的第一个元素的不同采用不同的方式获取元素,关键点在于find()…
下一页
个人成就
优秀创作者
文章被点赞
1,195
文章被阅读
246,813
掘力值
7,538
关注了
0
关注者
2,938
收藏集
1
关注标签
158
加入于
2016-08-28