标签:Java内存模型

Java 并发编程

Disruptor简单使用

chenssy阅读(203)评论(0)赞(0)

文章首发于:clawhub.club 在定位项目中内存泄漏问题时,发现RingBuffer占用内存过大,这个是在使用log4j2时引入的jar,以前只知道必须使用这个Disruptor才可以用异步日志, 但是并不清楚Disruptor的一些...

Java 并发编程

JAVA并发工具设计套路

chenssy阅读(213)评论(0)赞(0)

文章首发于:clawhub.club 在学习JAVA并发工具时,分析JUC下的源码,发现有三个利器:状态、队列、CAS。 状态 一般是state属性,如AQS源码中的状态,是整个工具的核心,一般操作的执行都要看当前状态是什么, 由于状态是多...

Java 并发编程

【J.U.C】LockSupport

chenssy阅读(159)评论(0)赞(0)

文章首发于:clawhub.club LockSupport是用于创建锁和其他同步类的阻塞原语,通过调用Unsafe函数中的接口实现阻塞和解除阻塞的。 pack 方法 解释 park(Object) 挂起当前线程 parkNanos(Obj...

Java 并发编程

【J.U.C】LongAdder与AtomicLong

chenssy阅读(191)评论(0)赞(0)

前一阵子看ConcurrentHashMap的源码,其中计数部分提及到LongAdder,之后看了一下LongAdder,发现他们实现的思路是一样的,都是将单节点的并发分散到多个节点。 LongAdder的使用场景也就适用于高并发的情形。比...

Java 并发编程

【SharingObjects】ThreadLocal

chenssy阅读(165)评论(0)赞(0)

描述 该类提供了线程局部(thread-local)变量。这些变量不同于它们的普通对应物,因为访问某个变量(通过其get或set方法)的每个线程都有自己的局部变量,它独立于变量的初始化副本。ThreadLocal实例通常是类中的privat...