首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
JUC
burg_xun
创建于2021-07-06
订阅专栏
Java 并发包里面的源码 做分享
等 1 人订阅
共8篇文章
创建于2021-07-06
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
burg_xun
2年前
Java
HashMap 容量设置-什么时候初始化
看到这个问题 我一开始也不知道,但是从题目中 我们可以看出 初始容量的设置大小 对后面的 存放数据的多少 一定有影响 不然问题也不会这么问。 我们知道 HashMap 中存在一个 负载因子loadFactor 正常境况下 我们都是使用的默认值0.75. 具体为什么是0.75 这…
856
6
评论
burg_xun
2年前
Java
HashMap 容量大小的问题-为什么长度都是2的幂?
在之前的文章 我分析过HashMap 初始化容量的问题 不清楚的可以看这个。 这个方法是Hashmap里面去计算初始容量需要用的 其目的就是获取一个大于当前传入的cap值的2的最小幂次方的数值。 这个时候 我们发现 虽然hash值修改了 但是 我们计算得到的index 还是相同…
1502
8
1
burg_xun
2年前
Java
ConcurrentHashMap 怎么样去保证线程安全的, 读操作为什么不需要加锁?
首先 我们还是要先了解下ConcurrentHashMap 是什么 在那种场景下使用。 看名字 我们知道 首先 这个类应该是 在java.util.concurrent包中(JUC)这个包很重要,我们常见的 线程安全的集合 都会在这个包里面,再看后面的是HashMap. Has…
224
2
评论
burg_xun
3年前
Java
带你看看Java-AQS同步器 源码解读<五> 条件队列Condition下
isOnSyncQueue 方法 就是判断当前节点是否在同步队列SyncQueue中,如果是的话 就跳出while循环执行后面的方法,如果不在的话 那就要进入while循环体呢 做线程等待了,至于为什么要这样判断,那时因为node 节点加入到ConditionQueue 中,如…
149
2
评论
burg_xun
3年前
Java
带你看看Java-AQS同步器 源码解读<四> 条件队列Condition上
第三篇和大家分析了同步队列的共享模式,有的小伙伴反应前面的3篇文章写的有点儿干,可能我没注意自己的写作方法和方式,今天这篇我就改变下风格。 过了1分钟。。。 过了2分钟。。。 排了1分钟后。。。。 不知道 大家看了上面的例子 你有什么感触,食堂排队吃饭 就相当于一个Sync Q…
179
3
1
burg_xun
3年前
Java
带你看看Java-AQS同步器 源码解读<三>共享锁
既然说道共享锁和独占锁,那2者最本质的区别是什么呢,大家应该记得AQS中有一个同步器状态State 字段,其实说说白了共享模式和独占模式,就是同步器的状态是否允许被多个线程所获取,比如我们之前说的ReentrantLock就是独占锁的模式,因为同步器状态只能被一个线程所获取,那…
255
3
评论
burg_xun
3年前
Java
带你看看Java-AQS同步器 源码解读<二>
很快 我们找到了tryRelease在Sync中的实现,题外说下Sync 2个子类一个非公平锁一个公平锁,区别就是在加锁,解锁其实都一样的,不信看代码结构就能看到,2个子类的解锁都没有重写 都是用了Sync类中的实现。
146
3
评论
burg_xun
3年前
Java
带你看看Java-AQS同步器 源码解读<一>
AQS 全称 AbstractQueuedSynchronizer 中文翻译同步器 同步器是java中各种锁实现的基础,非常重用的 。比如我们线程池里面的Worker 类 我们的重入锁ReentrantLock,信号量Semaphore,CountDownLatch 等等 首先…
387
4
评论
温馨提示
当前操作失败,如有疑问,可点击申诉