首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
JUC队列
订阅
coder199669274
更多收藏集
微信扫码分享
微信
新浪微博
QQ
8篇文章 · 0订阅
什么是Java多线程的 等待(wait)/通知(notify)模式?
最近在看一些JUC下的源码,更加意识到想要学好Java多线程,基础是关键,比如想要学好ReentranLock源码,就得掌握好AQS源码,而AQS源码中又有很多Java多线程经典的一些应用;
深析PriorityBlockingQueue优先级队列原理,万字长文图文并茂
PriorityBlockingQueue是一个无界的基于数组的优先级阻塞队列,数组的默认长度是11,虽然指定了数组的长度,但是可以无限的扩充,直到资源消耗尽为止,每次出队都返回优先级别最高的或者最低
JUC阻塞队列BlockingQueue竟然有8种类型?
队列是一种特殊的线性表,是一种先进先出(FIFO)的数据结构。它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。 add(E e):插入元素到队尾,插入成功返回t…
18.布隆过滤器的实现及应用
布隆过滤器(Bloom Filter)由Burton Howard Bloom在1970年提出,它实际上是一个很长的二进制向量(位数组) 和一系列 随机映射函数(哈希)。布隆过滤器可以用于检索一个元素是否在一个集合中,是一种空间查询率高的概率型数据结构。它的优点是空间效率和查询…
19.LRU Cache的实现、应用和题解
我们先来认识一下cache以及cache在现实中的应用,cache的话就叫做缓存,比如之前文章提到过的 Fibonacci数列以及爬楼梯问题,解这些题就需要做一个所谓的记忆化搜索,其实我们就建列一个cache,你可以用数组来表示,Python可以直接用@LRU Cache 来写…
深入理解Redis跳跃表的基本实现和特性
在这里我们先回忆一下普通链表的时间复杂度,可以看到除了 look up 操作是 $O(n)$ 的,其他操作都是 $O(1)$ 的时间复杂度。也就是说你需要随机访问里面的任何一个元素的话,它的时间复杂度平均值是 $O(n)$ 的,这也就是链表它的问题所在。从这里可以看到并没有所谓…
阻塞队列 — LinkedTransferQueue源码分析
LinkedTransferQueue 是一个由链表结构组成的无界阻塞传输队列,它是一个很多队列的结合体(ConcurrentLinkedQueue,LinkedBlockingQueue,SynchronousQueue),在除了有基本阻塞队列的功能(但是这个阻塞队列没有使用…
阻塞队列 — LinkedBlockingDeque源码分析
LinkedBlockingDeque 一个由于链表结构组成的双向阻塞队列,队列头部和尾部都可以添加和移除元素,多线程并发时,可以将锁的竞争对多降到一半。 一般多用于生产者消费者模式。 我们来看一个例子:使用了LinkedBlockingQueue来模仿生产者线程和消费者线程进…