Java Striped64 原理

Striped64是Java8新增的、64bit高性能累加器。Striped64是LongAdder、LongAccumulator等类的基类。

Java Thread join 详解

Thread.join()挂起当前线程,直到目标线程结束,当前线程被唤醒。底层源码在线程exit的时候,通过ensure_join唤醒等待该线程的waiter。

Java 8 HashMap详解

Java 8 HashMap使用数据+链表+红黑树的结构。HashMap不是线程安全的,使用modCount字段实现fail-fast机制。遍历HashMap同时发生修改,抛出ConcurrentModificationException。Java8之前的HashMap容易在并发条件发生死循环。

Java CyclicBarrier原理

CyclicBrrier能够让一组线程,直到所有线程到达屏障。CyclicBarrier可以反复使用。

Java CountDownLatch原理

CountDownLatch使用AQS的state字段存储计数。CountDownLatch只能使用一次,没有复位操作

Java Semaphore原理

Semaphore支持非公平和公平模式。Semaphore使用AQS的state字段存放许可数量。