第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

JUC 包介紹

1. 前言

java.util.concurrent (縮寫 JUC)并發(fā)編程包是專門為 Java 并發(fā)編程設(shè)計的,在正式介紹 Java 并發(fā)工具之前,本節(jié)先帶領(lǐng)大家認識 Java 并發(fā)工具包,對 Java 并發(fā)工具在組織形式上有一個直觀的認識。

本節(jié)先介紹 JUC 包的版本歷史,接著介紹 JUC 包的組織形式和內(nèi)容結(jié)構(gòu)。

在了解了 JUC 包之后,心中有了整體概念,當(dāng)我們應(yīng)用到并發(fā)工具時,就可以很快定位選擇最恰當(dāng)?shù)墓ぞ呒右詰?yīng)用,或者能夠很快定位查閱相關(guān)工具的源代碼。

下面我們正式開始介紹。

2. JUC 包版本變遷

從 JDK1.5 開始,Java 官方在 rt.jar 核心 jar 包文件中增加了 java.util.concurrent 并發(fā)包,由 Doug Lea 大牛編寫實現(xiàn),并在后繼的主要版本中不斷對其增強、優(yōu)化。

在 JDK1.6 中,主要對基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)類進行了并發(fā)特性增強。

在 JDK1.7 中,主要對并發(fā)框架工具類進行了增強,新增了 ForkJoin 系列。

在 JDK1.8 中,主要對原子操作工具類進行了增強,增加了適用于更多場景的工具類。

3. JUC 包組織結(jié)構(gòu)

JUC 包在形式上是如何組織的呢?看下面表格。

包路徑 主要內(nèi)容 典型類型
java.util.concurrent 提供很多種最基本的并發(fā)工具類,包括對各類數(shù)據(jù)結(jié)構(gòu)的并發(fā)封裝,并發(fā)框架主要接口 CountDownLatch,CyclicBarrier,Semaphore,Exchanger,Phaser,BlockingQueue,ConcurrentHashMap,ThreadPoolExecutor,F(xiàn)orkJoinPool
java.util.concurrent.atomic 提供各類原子操作工具類 AtomicInteger, DoubleAdder,LongAccumulator,AtomicReference
java.util.concurrent.locks 提供各類鎖工具 Lock,ReadWriteLock,ReentrantLock,StampedLock

了解了形式上的組織方式,我們接下來從內(nèi)容角度看看 JUC 包的組織方式。

4. JUC 包內(nèi)容結(jié)構(gòu)

JUC 包提供了下面五大方面的內(nèi)容:

鎖(locks)部分:提供適合各類場合的鎖工具;
原子變量(atomic)部分:原子變量類相關(guān),是構(gòu)建非阻塞算法的基礎(chǔ);
并發(fā)框架(executor)部分:提供線程池相關(guān)類型;
并發(fā)容器(collections) 部分:提供一系列并發(fā)容器相關(guān)類型;
同步工具(tools)部分:提供相對獨立,且場景豐富的各類同步工具,如信號量、閉鎖、柵欄等功能;

下面我們通過思維導(dǎo)圖直觀展示 JUC 包內(nèi)容的內(nèi)在聯(lián)系。
圖片描述

5. 小結(jié)

通過本節(jié)介紹,大家對 java 并發(fā)工具包有了全局的直觀認識,本課程后繼主要針對上述表格中的典型類型展開介紹。