首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
彤哥读源码
掘友等级
后台开发工程师
|
保密
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
105
文章 105
沸点 0
赞
105
返回
|
搜索文章
最新
热门
死磕 java集合之LinkedList源码分析
LinkedList是一个以双向链表实现的List,它除了作为List使用,还可以作为队列或者栈来使用,它是怎么实现的呢?让我们一起来学习吧。 通过继承体系,我们可以看到LinkedList不仅实现了List接口,还实现了Queue和Deque接口,所以它既能作为List使用,…
死磕 java集合之ArrayDeque源码分析
双端队列是一种特殊的队列,它的两端都可以进出元素,故而得名双端队列。 ArrayDeque是一种以数组方式实现的双端队列,它是非线程安全的。 通过继承体系可以看,ArrayDeque实现了Deque接口,Deque接口继承自Queue接口,它是对Queue的一种增强。 从属性我…
死磕 java集合之DelayQueue源码分析
DelayQueue是java并发包下的延时阻塞队列,常用于实现定时任务。 从继承体系可以看到,DelayQueue实现了BlockingQueue,所以它是一个阻塞队列。 另外,DelayQueue还组合了一个叫做Delayed的接口,DelayQueue中存储的所有元素必须…
死磕 java集合之ConcurrentLinkedQueue源码分析
ConcurrentLinkedQueue只实现了Queue接口,并没有实现BlockingQueue接口,所以它不是阻塞队列,也不能用于线程池中,但是它是线程安全的,可用于多线程环境中。 那么,它的线程安全又是如何实现的呢?让我们一起来瞧一瞧。 就这两个主要属性,一个头节点,…
死磕 java集合之LinkedTransferQueue源码分析
LinkedTransferQueue是LinkedBlockingQueue、SynchronousQueue(公平模式)、ConcurrentLinkedQueue三者的集合体,它综合了这三者的方法,并且提供了更加高效的实现方式。 LinkedTransferQueue实现…
死磕 java集合之PriorityBlockingQueue源码分析
因为PriorityBlockingQueue在入队的时候如果没有空间了是会自动扩容的,也就不存在队列满了的状态,也就是不需要等待通知队列不满了可以放元素了,所以也就不需要notFull条件了。 欢迎关注我的公众号“彤哥读源码”,查看更多源码系列文章, 与彤哥一起畅游源码的海洋。
死磕 java集合之SynchronousQueue源码分析
🖕欢迎关注我的公众号“彤哥读源码”,查看更多源码系列文章, 与彤哥一起畅游源码的海洋。 SynchronousQueue是java并发包下无缓冲阻塞队列,它用来在两个线程之间移交元素,但是它有个很大的问题,你知道是什么吗?请看下面的分析。 (7)栈和队列两种方式有什么不同呢?…
死磕 java集合之LinkedBlockingQueue源码分析
🖕欢迎关注我的公众号“彤哥读源码”,查看更多源码系列文章, 与彤哥一起畅游源码的海洋。 LinkedBlockingQueue是java并发包下一个以单链表实现的阻塞队列,它是线程安全的,至于它是不是有界的,请看下面的分析。 典型的单链表结构。 欢迎关注我的公众号“彤哥读源码…
死磕 java集合之ArrayBlockingQueue源码分析
ArrayBlockingQueue是java并发包下一个以数组实现的阻塞队列,它是线程安全的,至于是否需要扩容,请看下面的分析。 队列,是一种线性表,它的特点是先进先出,又叫FIFO,就像我们平常排队一样,先到先得,即先进入队列的人先出队。 c)只使用了一个锁来控制入队出队,…
死磕 java集合之PriorityQueue源码分析
优先级队列,是0个或多个元素的集合,集合中的每个元素都有一个权重值,每次出队都弹出优先级最大或最小的元素。 一般来说,优先级队列使用堆来实现。 还记得堆的相关知识吗?链接直达【拜托,面试别再问我堆(排序)了!】。 让我们一起来学习吧。 不知道fast-fail的,查看这篇文章的…
下一页
个人成就
优秀创作者
文章被点赞
1,195
文章被阅读
237,924
掘力值
7,518
关注了
0
关注者
2,943
收藏集
1
关注标签
158
加入于
2016-08-28