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

一、傳統(tǒng)集合

collection:

list:ArrayList LinkedList Vector Stack

set:HashSet TreeSet

Map:HashMap TreeMap

二、簡單的不再多說,只說不會的!

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

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

ArrayList 擴大 *1.5+1 線程不安全

2、Stack : 先進后出

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

push pop peek

3

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

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

4

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

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

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

ArraylIst 數(shù)組

linkedList 雙向 鏈表

Vector 數(shù)組

Stack 數(shù)組

HashSet 基于HashMap實現(xiàn)

TreeSet 基于TreeMap 實現(xiàn)

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

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

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

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

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

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

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

五、并發(fā)集合

以下都是線程安全的:

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

CopyOnWriteArrayList 在讀寫操作無鎖的 ArrayList

CosyOnWriteArraySet 基于CopyOnWriteArrayList實現(xiàn)

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

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

六、原子操作

AtomicInteger AtomicLong AtomicBoolean

七、Executors

newCachedThreadPool()

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

newFixedThreadPool(int nThreads)

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

newSingleThreadExecutor()

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

newScheduledThreadPool(int corePoolSize)

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

適合于:定時或者延遲的任務,在異步操作中需要 超時回調的場景

更多信息請查看IT技術專欄

更多信息請查看腳本欄目
易賢網手機網站地址:jdk5的并發(fā)庫

2025國考·省考課程試聽報名

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