![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
jdk
文章平均质量分 68
wangfenglei123456
热爱学习,喜欢开发,后端java开发,目前研究spring源码设计。
展开
-
证明volatile 是线程可见的
java中 volatile 关键字是线程可见的,以前了解的是一个线程对volatile 修饰的遍历修改之后,另一个线程再次获取这个变量的值的时候,就是修改之后的值了。如果变量没有 volatile 修饰,另一个线程就不会感知到便获。原创 2022-12-18 21:15:02 · 422 阅读 · 0 评论 -
list转map,key相同合并代码执行顺序
用list.stream转map注意执行顺序原创 2022-08-10 14:43:34 · 1353 阅读 · 0 评论 -
ReentrantLock加锁解锁线程入队源码分析
本文介绍ReentrantLock加锁解锁过程在看这个类的代码时,先看类的关系,ReentrantLock,内部有sync类,继承了AbstractQueuedSynchronizer,这个类中封装很多锁的公共方法,比如,获取锁,释放锁,创建队列,入队,阻塞,共享锁的逻辑。测试代码:import java.util.concurrent.locks.ReentrantLock;public class TestLock { public static void main(Strin原创 2022-01-27 17:06:52 · 605 阅读 · 0 评论