可重入锁ReentrantLock

ReentrantLock 可重入互斥锁,具有与使用synchronized方法和语句访问的隐式监视锁相同的基 […]

Reentrantlock 原理

NoFairSync非公平同步 加锁流程 没有竞争时 出现竞争 Thread-1 执行: CAS 尝试将 st […]

线程池原理

池化 池化是将资源(资产、设备、人员、努力等)组合在一起,以最大化用户的优势或最小化用户的风险。 该术语用于金 […]

BlockingQueue类

LinkedBlockingQueue 与ConcurrentLinkedQueue LinkedBlocki […]

深入分析ConcurrentHashMap

阅读前提:本文分析的是源码,所以至少读者要熟悉它们的接口使用,同时,对于并发,读者至少要知道 CAS、Reen […]

juc各包

线程安全集合类可以分为三大类: 1.遗留的线程安全集合如 Hashtable , Vector。 Hashta […]

final底层原理

如果一个变量被声明成final 那么他永远都是线程安全的: 0: aload_0 1: invokespeci […]

不可变设计

不可变 每次对对象进行修改时,都会copy出一个副本。 CopyOnWriteArrayList:写时复制(C […]

ThreadLocal

ThreadLocal概念 线程独享的变量,采用的是线程封闭隔离的思想保证线程安全性。 ThreadLocal […]

CAS(Compare And Swap)

CAS CAS 全称是 Compare and swap,是一种用于在多线程环境下实现同步功能的机制,一种乐观 […]

内存屏障

什么是内存屏障? 内存屏障可以理解为volatile 关键字在 Java 中使用了内存屏障来保证多线程环境下共 […]

JMM(Java-Memory-Model)

CPU的缓存模型 为什么要弄一个 CPU 高速缓存呢? 类似我们开发网站后台系统使用的缓存(Redis),是为 […]

synchronized底层原理

前置知识 乐观锁的主要实现方式-CAS [[6.各种各样的锁#^3c30d1]] Java对象头的结构-Mar […]

各种各样的锁

乐观锁 & 悲观锁 乐观锁与悲观锁是一种广义上的概念,体现了看待线程同步的不同角度。在Java和数据库 […]