JDK8併發編程實戰源碼探究系列(一)併發包概覽

一線大廠招聘,高併發系統研發,進階高級程序員…併發編程是必須掌握的技能。而深究其原理、源碼才能寫出高質量的代碼。
JDK8併發編程實戰源碼探究系列涉及java.util.concurrent 包幾乎所有類或者接口的原理、使用實戰、源碼講解。
中間可能還會穿插計算機原理底層、CPU、操作系統、JMM、字節碼分析等知識點,更深刻、全方位掌握併發編程。

JDK8併發包概覽

以下信息依據 openjdk8描述:

java.util.concurrent 直接包裏面包含 59 個類或者接口。

java.util.concurrent.atomic 裏面包含18個類或者接口。

java.util.concurrent.locks 裏面包含11個類或者接口。

原子類(atomic包)

說明,原子類或者說CAS操作都依賴於Unsafe類,所以這個類也需要了解。

一類

  • AtomicInteger
  • AtomicBoolean
  • AtomicIntegerArray
  • AtomicLong
  • AtomicReference

二類

  • AtomicMarkableReference
  • AtomicStampedReference

三類

  • AtomicIntegerFieldUpdater
  • AtomicLongFieldUpdater
  • AtomicReferenceFieldUpdater

四類

  • Striped64
  • LongAdder
  • DoubleAdder
  • LongAccumulator
  • DoubleAccumulator

鎖(locks包、AQS)

一類

  • AbstractQueuedSynchronizer
  • Lock 接口
  • ReentrantLock
  • Condition
  • LockSupport

二類

  • ReadWriteLock 接口
  • ReentrantReadWriteLock
  • StampedLock

併發工具類(concurrent直接包)

  • CountDownLatch
  • CyclicBarrier
  • Semaphore
  • Exchanger
  • Phaser

併發集合類(concurrent直接包)

  • ConcurrentHashMap
  • ConcurrentLinkedQueue
  • ConcurrentSkipListMap
  • CopyOnWriteArrayList

隊列相關類(concurrent直接包)

  • ArrayBlockingQueue
  • LinkedBlockingQueue
  • PriorityBlockingQueue
  • SynchronousQueue
  • DelayQueue
  • LinkedTransferQueue

線程池(concurrent直接包)

  • Executor 、 ExecutorService 、ThreadFactory、RejectedExecutionHandler接口
  • Executors
  • ThreadPoolExecutor
  • ScheduledThreadPoolExecutor
  • ThreadLocalRandom
  • TimeUnit

Fork/Join

  • ForkJoinPool
  • ForkJoinTask
  • ForkJoinWorkerThread

Callable&Future&CompletableFuture

  • Callable
  • FutureTask
  • CompletableFuture
  • ExecutorCompletionService
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章