首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
诚实的欺诈师
掘友等级
java开发
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
64
文章 64
沸点 0
赞
64
返回
|
搜索文章
最新
热门
ArrayDeque源码解析
概况 ArrayDeque是Deque的主要实现类,Deque的定义为double ended queue,即双端队列,可以从头或尾部插入和删除数据。ArrayDeque使用环形数组来实现。
多线程容器
容器思维导图 容器的发展过程 vector——>Queue HashTable——>ConcurrentHashMap 使用早期的同步容器以及Collections.synchronizedXXX方法
DelayQueue源码解析
DelayQueue是BlockingQueue的实现类,在原本的基础上增加了延迟等待的操作,底层用到了PriorityQueue和Leader-Follower模式。
TransferQueue源码
TransferQueue 会先尝试和head匹配,匹配失败就插入末尾。与SychronousQueue相比多了缓存队列,与BlockingQueue相比可以直接将元素传递。
BlockingQueue源码
概述 BlockingQueue是阻塞队列, BlockingQueue继承自Queue,在Queue的基础上添加了阻塞方法put()和take()。
SychronousQueue源码解析
SychronousQueue原理 SychronousQueue是无缓冲阻塞队列,是BlockingQueue的实现类
CocurrentLinkedQueue
原理 本质是Queue的实现类,用于多线程的容器,底层使用的是链表。(数据存储其实本质只有两种:连续的和非连续的,及链表和数字,为什么没有ConcurrentArrayQueue,因为数组的大小是固定
ThreadLocal
ThreadLocal提供了线程内存储变量的能力,使每一个线程读取的变量是对应的互相独立的,同一个线程中读取的变量是一致的。
CAS(无锁优化 自旋)
CAS(CompareAndSwap,CompareAndSet)比较并替换,是CPU的一个指令,是非阻塞的、轻量级的乐观锁。
volatile的作用和问题
volatile的原理和作用,保证了线程可见性,禁止指令重排序,以及为什么volatile不是原子性
下一页
个人成就
文章被点赞
68
文章被阅读
19,116
掘力值
624
关注了
11
关注者
3
收藏集
1
关注标签
5
加入于
2016-12-08