
并发编程
文章平均质量分 95
Hill__Cheung
这个作者很懒,什么都没留下…
展开
-
# wait和notify原理
wait和notify原理wait和notify(重点)小故事[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CDMyQx9F-1627541763521)(C:\Users\dell\AppData\Roaming\Typora\typora-user-images\image-20210407112231826.png)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1wwjn2wY-1627541763535)(C:\Users原创 2021-07-29 14:56:49 · 335 阅读 · 0 评论 -
Synchronize的底层优化(CAS,重量级锁,轻量级锁,偏向锁)
Java 对象头 (重点)对象头对象头包含两部分: 运行时元数据(Mark Word)和类型指针(Klass Word)运行时元数据:哈希值(HashCode),可以看出是 堆中对象的地址GC分代年龄(年龄计数器) (用于新生代from/to区晋升老年代的标准, 阈值为15)锁状态标志(用于JDK1.6对synchronize的优化->轻量级锁)线程持有的锁偏向线程ID(用于JDK1.6对synchronize的优化->偏向锁)偏向时间戳类型指原创 2021-07-29 14:55:31 · 857 阅读 · 2 评论 -
CAS概念
CAS概念、原子操作类(乐观锁思想)、LongAddr和AtomicLong、Unsafe共享模型之无锁Java中 synchronize 和 ReentranLock等独占锁就是 悲观锁思想的实现在Java中 java.util.concurretn.atomic包下面的原子变量类就是使用了乐观锁的一种实现方式CAS实现的管程即monitor是阻塞式的悲观锁实现并发控制,这章我们将通过非阻塞式乐观锁的来实现并发控制1、 问题提出有如下需求,保证account.withdraw取款原创 2021-04-26 19:34:21 · 321 阅读 · 0 评论 -
Java内存模型(JMM-原子性、可见性、有序性)、volatile原理、
Java内存模型(JMM-原子性、可见性、有序性)、volatile原理、共享模型之内存多线程的三大特性(原子性、可见性、有序性)之前将的synchronize底层Monitor主要关注的是访问共享变量时,保证临界区代码的原子性。下面进一步深入学习共享变量在多线程间的可见性问题与多条指令执行时的有序性问题Java内存模型(重点)JMM 即Java Memory Model,它从Java层面定义了主存、工作内存抽象概念,底层对应着 CPU寄存器、缓存、硬件内存、CPU指令优化等。JMM体原创 2021-04-18 13:44:19 · 396 阅读 · 0 评论 -
Spring AOP
AOP(底层原理)1.1 AOP底层是使用动态代理进行实现(1)有两种情况动态代理1、有接口情况 使用JDK动态代理创建接口实现类代理对象 增强类的方法[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cIxxxJEB-1617801756181)(C:\Users\dell\AppData\Roaming\Typora\typora-user-images\image-20210307153604401.png)]2、 没有接口情况 使用cglib动态代理创原创 2021-04-07 21:22:54 · 168 阅读 · 1 评论 -
Synchronize的底层优化(CAS,重量级锁,轻量级锁,偏向锁)
Synchronize的底层优化(CAS,重量级锁,轻量级锁,偏向锁)Java 对象头 (重点)对象头对象头包含两部分: 运行时元数据(Mark Word)和类型指针(Klass Word)运行时元数据:哈希值(HashCode),可以看出是 堆中对象的地址GC分代年龄(年龄计数器) (用于新生代from/to区晋升老年代的标准, 阈值为15)锁状态标志(用于JDK1.6对synchronize的优化->轻量级锁)线程持有的锁偏向线程ID(用于JDK1.6对s原创 2021-04-07 11:18:51 · 393 阅读 · 0 评论