逆流者 Blog
首页
归档
友链
日志
分类
Spring (4)
消息中间件 (1)
Java并发编程 (21)
数据结构 (17)
其他 (0)
工具 (2)
工作技能 (1)
Frp (1)
Nginx (8)
操作系统 (0)
Mac (1)
前端 (0)
Python (16)
kubernetes (1)
Linux (8)
Docker (8)
raspberrypi (1)
数据库 (0)
Mysql (9)
Oracle (1)
PL/SQL (7)
Redis (1)
Vue (23)
Java (3)
java基础 (2)
Spring1 (0)
Java设计模式 (4)
Java并发 (7)
Spring Cloud (0)
Spring boot (0)
全部分类 ( 146 )
查询
当前位于"Java并发编程"分类下
Java并发编程(二十一)独占锁 ReentrantLock 的原理
此文为读书笔记,欢迎评论,讨论问题,共同进步!简介ReentrantLock 是可重入的独占锁,同时只能有一个线程可以获取该锁,其他获取该锁的线程会被阻塞而被放入该锁的 AQS 阻塞队列里面。类图:从类图可以看到,ReentrantLock 是使用 AOS 来实现的,并且根据参数来决定其内部是一个公
ReentrantLock
2021年06月10日
812次浏览
Java并发编程(二十)抽象同步队列 AQS
此文为读书笔记,欢迎评论,讨论问题,共同进步!锁的底层支持AbstractQueuedSynchronizer抽象同步队列简称AQS,它是实现同步器的基础组件,并发包中锁的底层就是使用 AQS实现的。另外,大多数开发者可能永远不会直接使用 AQS,但是知道其原理对于架构设计还是很有帮助的。下面看下A
AQS
2021年06月05日
778次浏览
Java并发编程(十九)Java 并发包中锁原理剖析 LockSupport 工具类
此文为读书笔记,欢迎评论,讨论问题,共同进步!LockSupport 工具类JDK 中的rt.jar包里面的LockSupport是个工具类,它的主要作用是挂起和唤醒线程,该工具类是创建锁和其他同步类的基础。LockSupport类与每个使用它的线程都会关联一个许可证,在默认情况下调用 LockSu
并发
2021年02月21日
180次浏览
Java并发编程(十八)Java 并发包中并发List源码剖析
此文为读书笔记,欢迎评论,讨论问题,共同进步!介绍并发包中的并发List只有CopyOnWriteArrayList。CopyOnWriteArrayList是一个线程安全的ArrayList,对其进行的修改操作都是在底层的一个复制的数组(快照)上进行的,也就是使用了写时复制策略。类图结构如图:在
并发
2021年02月21日
183次浏览
Java并发编程(十七)Java并发包中原子操作类原理
此文为读书笔记,欢迎评论,谈论问题,共同进步!JUC包提供了一系列的原子性操作类,这些类都是使用非阻塞算法CAS 实现的,相比使用锁实现原子性操作这在性能上有很大提高。原子性操作类的原理大致相同,下面描述下AtomicLong类的实现原理以及JDK8中新增的LongAdder和 LongAccumu
并发
2021年02月21日
317次浏览
Java并发编程(十六)ThreadLocalRandom
此文为读书笔记,欢迎评论,谈论问题,共同进步!ThreadLocalRandom类是 JDK 7在JUC包下新增的随机数生成器,它弥补了Random类在多线程下的缺陷。Random 类在JDK 7之前以及现在,java.util.Random 都是使用比较广泛的随机数生成工具类,而且java.lan
并发
2021年02月21日
182次浏览
Java并发编程(十五)锁
此文为读书笔记,欢迎评论,谈论问题,共同进步!乐观锁与悲观锁乐观锁和悲观锁是在数据库中引入的名词,但是在并发包锁里面也引入了类似的思想。悲观锁悲观锁:指对数据被外界修改持悲观态度,认为数据很容易就会被其他线程修改,所以在数据被处理前先对数据进行加锁,并在整个数据处理过程中,使数据处于锁定状态。悲观锁
并发
2021年02月21日
138次浏览
Java并发编程(十四)伪共享
此文为读书笔记,欢迎评论,谈论问题,共同进步!什么是伪共享为了解决计算机系统中主内存与CPU 之间运行速度差问题,会在CPU与主内存之间添加一级或者多级高速缓冲存储器(Cache)。这个Cache一般是被集成到 CPU 内部的,所以也叫 CPU Cache。两级 Cache 结构图:在Cache 内
并发
2021年02月21日
193次浏览
Java并发编程(十三)Java 中的原子性操作
此文为读书笔记,欢迎评论,谈论问题,共同进步!原子性操作,是指执行一系列操作时,这些操作要么全部执行,要么全部不执行,不存在只执行其中一部分的情况。在设计计数器时一般都先读取当前值,然后+1,再更新。这个过程是读—改一写的过程,如果不能保证这个过程是原子性的,那么就会出现线程安全问题。Java 中的
并发
2021年02月21日
193次浏览
Java并发编程(十二)Java 中共享变量的内存可见性问题
此文为读书笔记,欢迎评论,谈论问题,共同进步!Java 的内存模型先看下多线程下处理共享变 Java 的内存模型:Java内存模型规定,将所有的变量都存放在主内存中,当线程使用变量时,会把主内存里面的变量复制到自己的工作空间(工作内存),线程读写变量时操作的是自己工作内存中的变量。Java内存模型是
并发
2021年02月21日
293次浏览
«
1
(current)
2
3
»
个人信息
逆流者
上海 徐汇区
文章数量
146
分类数量
30
标签数量
43
不登高山,不知天之高也;不临深溪,不知地之厚也。
所有标签
ReentrantLock
1
AQS
1
锁机制
1
查询优化
1
show profile
1
批量插入数据
1
慢查询日志
1
explain
1
mysql索引
1
mysql
9
rabbitmq
1
数据结构
17
web api
1
requests
1
json
1
matplotlib
2
csv
1
pygal
2
python
15
kubernetes
1
java8
1
Ioc
1
spring
4
linux
8
docker
8
raspberrypi
1
工作技能
1
设计模式
4
多线程
7
并发
26
Java基础
2
frp
1
内网穿透
1
oracle
1
存储过程
1
游标
1
PL/SQL
6
Nginx
8
Redis
1
工具
2
Mac
1
Vue
23
反射
1
所有标签
146