jdk5的并發(fā)庫
來源:易賢網(wǎng) 閱讀:644 次 日期:2015-04-01 11:02:46
溫馨提示:易賢網(wǎng)小編為您整理了“jdk5的并發(fā)庫”,方便廣大網(wǎng)友查閱!

一、傳統(tǒng)集合

collection:

list:ArrayList LinkedList Vector Stack

set:HashSet TreeSet

Map:HashMap TreeMap

二、簡單的不再多說,只說不會(huì)的!

1、Vector: 默認(rèn)創(chuàng)建大小為10的Object數(shù)組(所以是基于數(shù)組實(shí)現(xiàn)的) add, remove方法都是添加了 synchronized關(guān)鍵字的 所以線程安全

vector 擴(kuò)大數(shù)組 是擴(kuò)大兩倍 線程安全

ArrayList 擴(kuò)大 *1.5+1 線程不安全

2、Stack : 先進(jìn)后出

繼承于Vector,所以也是線程安全的!

push pop peek

3

HashSet 基于HashMap實(shí)現(xiàn),使用的是hashMap中的Key, 無容量限制 ,非線程安全

TreeSet 基于TreeMap實(shí)現(xiàn), 支持排序 ,非線程安全

4

HashMap 基于Entry數(shù)組實(shí)現(xiàn), key,value 后出entry, 無容量限制,非線程安全

TreeMap 基于 紅黑樹實(shí)現(xiàn),無容量限制,非線程安全

三、各種實(shí)現(xiàn)方式

ArraylIst 數(shù)組

linkedList 雙向 鏈表

Vector 數(shù)組

Stack 數(shù)組

HashSet 基于HashMap實(shí)現(xiàn)

TreeSet 基于TreeMap 實(shí)現(xiàn)

HashMap 基于Entry對象的數(shù)組實(shí)現(xiàn)

TreeMap 基于 紅黑樹實(shí)現(xiàn)

四、傳統(tǒng)集合的一些性能

1、set 和 map 類型的查找是通過hash后,再到鏈表上查找,所以速度相對來說要快!

2、當(dāng)數(shù)量超過萬級別:

插入:arrayList Vector的影響比較大,其他基本沒什么變化

查找和刪除;list 的性能下降比較嚴(yán)重,set和map基本不受影響

五、并發(fā)集合

以下都是線程安全的:

ConcurrentHashMap 在每一個(gè)分段上都用鎖進(jìn)行保護(hù),從而讓鎖的粒度更精細(xì)一些,并發(fā)性能更好,而HashMap沒有鎖機(jī)制,不是線程安全的。

CopyOnWriteArrayList 在讀寫操作無鎖的 ArrayList

CosyOnWriteArraySet 基于CopyOnWriteArrayList實(shí)現(xiàn)

ArrayBlockingQueue 基于數(shù)組,先進(jìn)先出,阻塞讀寫

ArrayBlockingQueue(int capacity)創(chuàng)建一個(gè)帶有給定的(固定)容量和默認(rèn)訪問策略的 ArrayBlockingQueue。同時(shí)初始化鎖和兩個(gè)鎖上的condition,一個(gè)為notEmpty 一個(gè)為notFull

六、原子操作

AtomicInteger AtomicLong AtomicBoolean

七、Executors

newCachedThreadPool()

創(chuàng)建一個(gè)可根據(jù)需要?jiǎng)?chuàng)建新線程的線程池,但是在以前構(gòu)造的線程可用時(shí)將重用它們。

newFixedThreadPool(int nThreads)

創(chuàng)建一個(gè)可重用固定線程數(shù)的線程池,以共享的無界隊(duì)列方式來運(yùn)行這些線程。

newSingleThreadExecutor()

創(chuàng)建一個(gè)使用單個(gè) worker 線程的 Executor,以無界隊(duì)列方式來運(yùn)行該線程。

newScheduledThreadPool(int corePoolSize)

創(chuàng)建一個(gè)線程池,它可安排在給定延遲后運(yùn)行命令或者定期地執(zhí)行。

適合于:定時(shí)或者延遲的任務(wù),在異步操作中需要 超時(shí)回調(diào)的場景

更多信息請查看IT技術(shù)專欄

更多信息請查看腳本欄目
易賢網(wǎng)手機(jī)網(wǎng)站地址:jdk5的并發(fā)庫
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

2025國考·省考課程試聽報(bào)名

  • 報(bào)班類型
  • 姓名
  • 手機(jī)號
  • 驗(yàn)證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 加入群交流 | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
咨詢QQ:526150442(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報(bào)警專用圖標(biāo)