首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
A_minor
掘友等级
后端开发
掘金可能只会更新部分博客,CSDN:https://blog.csdn.net/weixin_43935927,个人博客:http://yzhblog.work/
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
105
文章 105
沸点 0
赞
105
返回
|
搜索文章
最新
热门
【JUC源码】SynchronousQueue吐血万字源码深析(超详细注释)
队列不存储数据,所以没有大小,也无法迭代。没有大小如何理解呢?即每次进行put值进去时, 必须等待相应的 consumer 拿走数据后才可以再次 put 数据。 queue 对应 peek, contains, clear, isEmpty ... 等方法其实是无效的。 队列由…
【JUC源码】DelayQueue源码分析
PriorityQueue 中文叫做优先级队列,在此处的作用就是可以根据过期时间做优先级排序,让先过期的可以先执行。具体请参考【Java容器源码】PriorityQueue源码分析。 复用一直是个常见且重要的话题,就比如此处 DelayQueue 复用 PriorityQueu…
【Java容器源码】PriorityQueue源码分析
小顶堆:小顶堆就是无论在任何一棵(子)树中,父节点都是最小的。PriortyQueue 采用的就是小顶堆 这里只做简介,想了解堆的代码实现及更多操作的同学可以参考 【数据结构】Java实现堆:堆的各种操作&堆排序。 一般用作外部比较器,提前写好实现类并重写compar…
【数据结构】二叉堆:Java实现最大堆及堆排序
下面的文章以大顶堆为例,拿Java实现堆的各种操作。 在看堆排序前,我们先来验证我们写的代码是否正确的。思路是,向堆中添加一百万个随机数,然后依次取顶取出放入到一个数组中,最后验证看是否从大到小排列的: 这里其实也可以直接创建出一个数组,然后构造成最大堆,再不断取顶。相信经过上…
【JUC源码】LinkedBlockingQueue源码分析
锁有 take 锁和 put 锁,是为了保证队列操作时的线程安全,设计两种锁,是为了 take 和 put 两种操作可以同时进行,互不影响。如果只有一把锁put,take同时只能进行一个 在对给定集合数据进行初始化时,我们不反对在每次 for 循环的时候,都去检查当前链表的大小…
【数据结构】Java实现队列:循环队列&链式队列
基于数组的循环队列其实很简单,就是当数组满后重置入队和出队位置到数组头部。 从上面代码不难看出,链式队列其实就是链表的基本操作,所以LinkedList也是Queue的一个实现,这块的更多细节可以参考【Java容器源码】LinkedList源码分析。
【数据结构】栈的LeetCode题:20.有效的括号,155.最小栈,84.柱状图的最大矩形
给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串。 这种思路很简单直接,就是将所有左半部分(,[,{ 压入栈,碰到右半部分就一一匹配…
【数据结构】Java实现顺序栈&栈应用浅析
操作特性:栈是一种“操作受限”的线性表,只允许在一端插入和删除数据。 使用场景;当某个数据集合只涉及在一端插入和删除数据,并且满足后进先出、先进后出的特性,就应该首选“栈”这种数据结构。 用数组实现的栈,我们叫作顺序栈(效率高),而用链表实现的栈,我们叫作链式栈。 上面是基于数…
【JUC源码】关于ConcurrentHashMap的几个问题
在文章开始先放上一个传送门:【JUC源码】ConcurrentHashMap吐血万字源码深析(超详细注释)。在下面有什么不理解的地方,可以参考源码进行理解。 都实现了 Map 接口,继承了 AbstractMap 抽象类,所以两者的方法大多都是相似的,可以互相切换。 数据结构上…
【JUC源码】ConcurrentHashMap吐血万字源码深析(超详细注释)
提供了很多 Stream 流式方法,比如说:forEach、search、reduce 等等。 从类注释中,我们可以看出 ConcurrentHashMap 和 HashMap 相比,新增了转移节点的数据结构,至于底层如何实现线程安全,转移节点的具体细节,暂且看不出来,接下来我…
下一页
个人成就
文章被点赞
187
文章被阅读
63,646
掘力值
1,309
关注了
0
关注者
37
收藏集
1
关注标签
1
加入于
2020-09-12