Toggle navigation
呼延十
Home
Archive
Search
前言
前言
1.前言
前言
前言
背景介绍
什么是阻塞队列?
前言
前言
背景介绍
目录
目录
目录
目录
目录
目录
目录
前言
前言
前言
前言
前言
前言
About
LUCENE
Changelog
Introduction
Gitbook Back to Top Button Plugin
#Chapter fold for GitBook
Copy Code to Clipboard on GitBook
#Expandable chapters for GitBook
#Expandable chapters for GitBook
plugin-github
gitbook-plugin-search-pro
gitbook-plugin-splitter
gitbook-plugin-tbfed-pagefooter
node-html-entities
Moment.js
resume
呼延十
还记得年少时的梦吗
新电脑装机
shell zsh + oh my zsh + iterm2. zsh: autosuggestion. 历史命令自动补全 iTerm2 + Oh My Zsh 打造舒适终端体验 z jls IDEA 完。 联系我 最后,欢迎关注我的个人公众号【 呼延十 】,会不定期更新很多后端工程师的学习笔记。 也欢迎直接公众号私信或者邮箱联系我,一定知无不言,言无...
Posted by 呼延十 on January 2, 2022
(juc系列)阻塞队列(blockingqueue)及其实现
本文源码基于: JDK13 整体的类图: BlockingQueue 接口 官方注释翻译 什么是阻塞队列? 一个队列,它支持: 获取元素时,如果队列为空,可以等待元素入队,直到队列不为空 存储元素时,如果队列满了,可以等待元素出队,知道队列腾出空间 这就是一个阻塞队列了~. 阻塞队列的方法,有四种形式来处理,操作没有办法被立刻满足,但是未来某些时间点可能满足的...
Posted by 呼延十 on November 5, 2021
(juc系列)延迟队列delayqueue
本文源码基于: JDK13 DelayQueue 延迟队列 官方注释翻译 用于延迟元素的一个无界的阻塞队列实现. 延迟元素只有在他的延迟过期之后,才可以被获取. 队头的元素,是队列中过期最早的元素。如果没有元素过期,那么将没有队头元素,poll方法将会返回一个null. 过期操作只有元素的getDelay方法返回一个小于等于0的数值时才会起作用. 尽管没有过期的元素,不能通过ta...
Posted by 呼延十 on November 5, 2021
(juc系列)并发集合之concurrentlinkedqueue源码
本文源码基于: JDK13 ConcurrentLinkedQueue 官方注释翻译 一个用链表实现的无界的线程安全的队列. 这个队列提供FIFO的元素顺序. 当多个线程需要共享一个集合的访问时, ConcurrentLinkedQueue是一个合适的选择. 向其他的并发集合实现一样,这个类不接受null元素. 这个实现使用了高效的无锁算法. 来源于paper Simple, Fa...
Posted by 呼延十 on November 5, 2021
(juc系列)并发集合之concurrentlinkeddeque源码
本文源码基于: JDK13 ConcurrentLinkedDeque 官方注释翻译 一个无界的,并发的双端队列,使用链表实现. 多线程间的并发写入,移除,访问操作,可以保证安全.当有很多线程共享一个公共集合时,ConcurrentLinkedDeque 是一个不错的选择. 像其他的并发集合一样,这个类不接受null元素. 迭代器是弱一致的. 需要注意的是,和其他大多数集合不同,s...
Posted by 呼延十 on November 5, 2021
(juc系列)同步队列synchronousqueue
本文源码基于: JDK13 SynchronousQueue 官方注释翻译 一个阻塞队列的实现,他的插入操作必须等待对应的移除操作. 反之亦然. 一个同步队列没有内部的容量限制. 不能执行peek()操作,因此只有当你尝试去移除的时候,元素才存在. 在没有其他线程等待移除的时候,你不能使用任何方法来插入一个元素. 不能执行迭代操作,因为没有任何元素可以迭代. 队头...
Posted by 呼延十 on November 5, 2021
(juc系列)同步列表copyonwritearraylist及set源码解析
本文源码基于: JDK13 CopyOnWriteArrayList 官方注释翻译 ArrayList的一个线程安全的变体,所有可变的操作(比如add/set等)都使用底层数组的一个拷贝. 这经常是非常昂贵的,但是在便利操作远远大于更该操作的情况下更加高效. 如果你不想或者不能进行同步遍历, 那么这个类就有用了. 快照风格的遍历器,使用一个当遍历器创建时,对数组状态的一个引用. ...
Posted by 呼延十 on November 5, 2021
(juc系列)优先级阻塞队列 Priotiryblockingqueue
本文源码基于: JDK13 PriorityBlockingQueue 优先级阻塞队列 官方注释翻译 一个无界的阻塞队列,使用相同的排队规则PriorityQueue并且提供阻塞的操作. 因为这个队列逻辑上是误解的,尝试添加操作可能会失败,由于资环耗尽了(比如OOM). 这个类不接受null元素. 一个优先级队列依赖于自然序并且不保证non-comparable(不支持比较的元素)的...
Posted by 呼延十 on November 5, 2021
Older Posts →
FEATURED TAGS
杂项
Java
算法
Redis
数据结构
开发者手册
JUC
搜索
Lucene
LintCode
Java面试
源码阅读
效率编程
Java集合
MySQL
索引文件
读书笔记
随缘一题
Linux
实际问题解决
开发者工具
每日一题
开发环境搭建
设计模式
轮子
多线程
Java8
Spring Boot
java.util.concurrent
高性能MySQL
Head First 设计模式
NLP
笔试面试
链表
面试
MyBatis
二叉树
排序
数组
深入了解JAVA虚拟机
线程池
翻译
阻塞队列
BKD树
Blog
DEBUG
Jekyll
Mysql
RPC
Thrift
ABOUT ME
呼延十
C
知
统
FRIENDS
HuiHui
周海铭
Java基础知识总结