java.util.concurrent包的学习

2025-12-31

AtomicInteger类:

setOpaque方法废弃,请用setRelease方法.

getOpaque方法废弃,请用getAcquire方法.

setRelease和getAcquire配套使用。

image

  - - - - -

AtomicLongFieldUpdater 提供了更高层级的封装,可以修改指定类的中的long字段。其实就是AtomicLong的重装版。

同理AtomicIntegerFieldUpdater也和它类似

2025-01-05

DoubleAdder 是 Java 8 引入的高性能浮点数累加器,基于 Striped64 实现,专为高并发场景下的浮点数累加操作而设计。

- - - - - - 

AtomicMarkableReference 与 AtomicStampedReference 对比

image

- - - - - 

image

 2025-01-06

涨知识了。我今天才知道,线程会缓存内存里的变量。

在java中,线程会读取java中的全局变量,并缓存到自己线程中来,至于什么时候再更新到内存中,是不确定的。(一句话总结就是,线程会缓存内存中的变量)。

java中全局定义一个int变量,如果多线程同时高频操作会有以下问题:

image

 如果只是解决不可见性,直接加关键字volatile就能解决。

如果想3个都解决,那就是原子操作类:AtomicInteger,AtomicLong等等。

2025-01-07

image

 

image

 - - - 

image

2026-01-09

image

- - - -- 

 StampedLock 在读多写少的情况下,性能更强大。

image

2026-01-10

image

 普通同步Map 用ConcurrentHashMap

同步有序Map用 ConcurrentSkipListMap

 

posted on 2025-12-31 15:02  angelshelter  阅读(4)  评论(0)    收藏  举报

导航