摘要:
前言 思维导图.png 最近阿里巴巴发布了Java开发手册(泰山版) (公众号回复: 开发手册 可收到阿里巴巴开发手册(泰山版 2020.4.22发布).pdf),其中第17条写到: 阿里巴巴开发手册.png 对于Java项目中计数统计的一些需求,如果是 JDK8,推荐使用 LongAdder 对象 阅读全文
摘要:
看了AtomicLong的实现或许会立马想到ReentrantLock或者Synchronized也可以实现原子类,只要在操作前获取锁,操作完释放锁。 但是为什么不用这些锁,而是用CAS呢? 显然,这些锁都是互斥锁,在多线程竞争激烈的情况下,伴随着大量线程上下文切换和独占,严重降低吞吐量。 然使用C 阅读全文
摘要:
前言 Unsafe类提供了硬件级别的的原子性操作,Unsafe类中的方法都是native方法,通过使用JNI的方式访问本地C++库。 unsafe类在jdk源码中得到了非常广泛的应用,是理解jdk源码的基础,今天我们就来分享一下其中常见的方法。 1.compareAndSwapInt方法说明 pub 阅读全文
摘要:
SynchronousQueue是一个没有容量的队列,它的put操作和take操作之间是相互依赖的,即put操作必须在take操作准备好时才能将元素“推”过去,反之take操作也必须在put操作准备推元素的时候才能获取到元素。 同步队列:SynchronousQueue,零容量的Synchronou 阅读全文