java并发---乐观锁与悲观锁 发表于 2020-07-25 | 分类于 java并发 | 乐观锁与悲观锁 悲观锁 乐观锁 Synchronized synchronized实现原理 Java对象头 monitor 锁优化 自旋锁 适应自旋锁 锁消除 锁粗化 轻量级锁 偏向锁 重量级锁 CAS CAS原理 CAS缺点 CAS与Synchronized的使用情景: ... 阅读全文 »
java并发---双重检查锁定与延迟初始化 发表于 2020-07-25 | 分类于 java并发 | 双重检查锁定的由来 例子1 12345678public class UnsafeLazyInitialization { private static Instance instance; public static Instance getInstance() { i ... 阅读全文 »
java并发---ConcurrentHashMap 发表于 2020-07-25 | 分类于 java并发 | 为什么要使用ConcurrentHashMap 线程不安全的HashMap 在多线程环境下,使用HashMap进行put操作会引起死循环,导致CPU利用率接近100%,所以在并发情况下不能使用HashMap。例如,执行以下代码会引起死循环。 1234567891011121314151617f ... 阅读全文 »
java并发---并发队列【ConcurrentLinkedQueue】 发表于 2020-07-25 | 分类于 java并发 | 1.简介ConcurrentLinkedQueue是JUC中的基于链表的无锁队列实现。本文将解读其源码实现。 2. 论文ConcurrentLinkedQueue的实现是以Maged M. Michael和Michael L. Scott的论文Simple, Fast, and Practical ... 阅读全文 »
java并发---CopyOnWriteArrayList 发表于 2020-07-25 | 分类于 java并发 | https://github.com/shendezhuti/java_concurrency_note/blob/master/%E7%AC%AC%E4%B8%83%E7%AB%A0%EF%BC%9AJava%E5%B9%B6%E5%8F%91%E5%8C%85%E4%B8%AD%E5%B9%B6 ... 阅读全文 »