首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
SpringCat
掘友等级
中间件开发
|
阿里巴巴
阿里底层码农,热爱开源,热爱java
获得徽章 5
动态
文章
专栏
沸点
收藏集
关注
作品
赞
189
文章 188
沸点 1
赞
189
返回
|
搜索文章
最新
热门
ThreadLocal源码分析_02 内核(ThreadLocalMap)
* 当前散列表数组占用情况,存放多少个entry。* 触发后调用 rehash() 方法。* rehash() 方法先做一次全量检查全局过期数据,把散列表中所有过期的entry移除。* 即,当前threshold阈值的3/4就进行扩容。* Set the resize thres...
Java小白进阶系列——Java锁框架AQS源码分析目录大纲
AQS这一块的源码真的是最难的一块,涉及到的内容特别多,感觉还是很多没理解到位,目录总结一下,之后结合面试题慢慢理解消化:AQS源码探究_01 手写一个简化的ReentrantLock可重入锁AQS源
线程池源码分析_01 FutureTask源码分析
Future是我们在使用java实现异步时最常用到的一个类,我们可以向线程池提交一个Callable,并通过future对象获取执行结果。FutureTask的使用场景:FutureTask可用于异步获取执行结果或取消执行任务的场景。通过传入Runnable或者Callable的...
AQS源码探究_09 Semaphore源码分析
Semaphore,信号量,它保存了一系列的许可(permits),每次调用acquire()都将消耗一个许可,每次调用release()都将归还一个许可。Semaphore通常用于限制同一时间对共享资源的访问次数上,也就是常说的限流。案例1:Pool.* 如果当前池中无空闲对象...
AQS源码探究_08 CyclicBarrier源码分析
CyclicBarrier,回环栅栏,它会阻塞一组线程直到这些线程同时达到某个条件才继续执行。它与CountDownLatch很类似,但又不同,CountDownLatch需要调用countDown()方法触发事件,而CyclicBarrier不需要,它就像一个栅栏一样,当一组线...
AQS源码探究_07 CountDownLatch源码分析
CountDownLatch,是一个简单的同步器,它的含义是允许一个或多个线程等待其它线程的操作执行完毕后再执行后续的操作。CountDownLatch的通常用法和Thread.join()有点类似,等待其它线程都完成后再执行主任务。对于像我一样的学生来说,CountDwonLa...
ThreadLocal源码分析_01 入门案例以及表层源码分析
ThreadLocal是一个全局对象,ThreadLocal是线程范围内变量共享的解决方案;ThreadLocal可以看作是一个map集合,key就是当前线程,value就是要存放的变量。int n = new Random().threadLocal.threadLocal.T...
Java小白进阶系列——ConcurrentHashMap源码解析文章总目录
(1)CAS + 自旋,乐观锁的思想,减少线程上下文切换的时间;(2)分段锁的思想,减少同一把锁争用带来的低效问题;(3)CounterCell,分段存储元素个数,减少多线程同时更新一个字段带来的低效;(4)@sun.misc.
ConcurrentHashMap源码解析_06 红黑树的代理类(TreeBin)
* 1.写锁状态 写是独占状态,以散列表来看,真正进入到TreeBin中的写线程 同一时刻只能有一个线程。* 2.读锁状态 读锁是共享,同一时刻可以有多个线程 同时进入到 TreeBin对象中获取数据。 * 3.this.next = (TreeNode<K,V>)x.x.lef...
ConcurrentHashMap源码解析_05 get、remove方法
前面几篇文章分析了并发HashMap的put方法及其相关方法,transfer方法,那么接下来本篇文章相对之前几篇难度会小一些。本篇文章介绍ConcurrentHashMap的get方法和remove方法。get方法:获取元素,根据目标key所在桶的第一个元素的不同采用不同的方式...
下一页
个人成就
2021年度人气作者No.30
文章被点赞
376
文章被阅读
120,877
掘力值
2,108
关注了
17
关注者
192
收藏集
4
关注标签
0
加入于
2021-05-15