Skip to the content.

首页

version: jdk17


Atomic

AtomicInteger

内部实现为使用Unsafe操作volatile的int变量。

LongAdder

基于Striped64实现,而Striped64使用VarHandle类执行原子操作。

AtomicStampedReference

相比于AtomicReference,解决了ABA问题,操作的变量为私有内部类Pair,其为reference变量捆绑了版本号stamp变量,也是基于VarHandle类实现。


CopyOnWriteArrayList

线程安全的List,COW写时复制思想设计,读写分离,适用于读多写少的并发场景。使用volatile和一个对象锁实现,读操作是直接读取效率高,写操作需要获取到对象的同步锁,写操作并不修改原数组,而是创建新数组,完成后使用新数组替换原数组。


CopyOnWriteArraySet

线程安全的Set,使用CopyOnWriteArrayList实现。


ConcurrentLinkedQueue (TODO)

线程安全的队列


ConcurrentSkipListMap(TODO)

跳跃表,线程安全的NavigableMap。