JDK ConcurrentHashMap詳解

首先先上ConcurrentHashMap的繼承關(guān)系圖:


ConcurrentHashMap的繼承關(guān)系圖

可以看到相當(dāng)于HashMap來說少了Cloneable接口菱父,即說明ConcurrentHashMap是不支持clone的
與HashMap相比都實(shí)現(xiàn)了AbstractMap但是ConcurrentHashMap多了增加了自己的一些實(shí)現(xiàn)莲趣,來自于ConcurrentMap接口

put方法實(shí)現(xiàn):
put調(diào)用了putVal方法實(shí)現(xiàn),采用了分段加鎖劲适,即對(duì)當(dāng)前操作的哈希桶進(jìn)行加鎖(通過CAS對(duì)哈希桶首元素加鎖實(shí)現(xiàn)對(duì)整個(gè)哈希桶的加鎖),這樣當(dāng)多線程的情況下相對(duì)于HashTable的全表加鎖來說效率提升了很多,減少了鎖碰撞的概率。
內(nèi)部的實(shí)現(xiàn)和HashTable非常相似拭嫁,除了添加了鎖邏輯處理(類似于U.compareAndSwapObject(tab, ((long)i << ASHIFT) + ABASE, c, v)這種的函數(shù)來處理潛在的并發(fā)問題),同時(shí)在達(dá)到一定閾值的時(shí)候同樣鏈表被轉(zhuǎn)換為紅黑樹抓于,這里和HashMap基本上是一致的(JDK HashMap詳解)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末噩凹,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子毡咏,更是在濱河造成了極大的恐慌驮宴,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,482評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件呕缭,死亡現(xiàn)場(chǎng)離奇詭異堵泽,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)恢总,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門迎罗,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人片仿,你說我怎么就攤上這事纹安。” “怎么了?”我有些...
    開封第一講書人閱讀 152,762評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵厢岂,是天一觀的道長(zhǎng)光督。 經(jīng)常有香客問我,道長(zhǎng)塔粒,這世上最難降的妖魔是什么结借? 我笑而不...
    開封第一講書人閱讀 55,273評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮卒茬,結(jié)果婚禮上船老,老公的妹妹穿的比我還像新娘。我一直安慰自己圃酵,他們只是感情好柳畔,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,289評(píng)論 5 373
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著郭赐,像睡著了一般荸镊。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上堪置,一...
    開封第一講書人閱讀 49,046評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音张惹,去河邊找鬼舀锨。 笑死,一個(gè)胖子當(dāng)著我的面吹牛宛逗,可吹牛的內(nèi)容都是我干的坎匿。 我是一名探鬼主播,決...
    沈念sama閱讀 38,351評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼雷激,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼替蔬!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起屎暇,我...
    開封第一講書人閱讀 36,988評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤承桥,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后根悼,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體凶异,經(jīng)...
    沈念sama閱讀 43,476評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,948評(píng)論 2 324
  • 正文 我和宋清朗相戀三年挤巡,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了剩彬。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,064評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡矿卑,死狀恐怖喉恋,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤轻黑,帶...
    沈念sama閱讀 33,712評(píng)論 4 323
  • 正文 年R本政府宣布糊肤,位于F島的核電站,受9級(jí)特大地震影響苔悦,放射性物質(zhì)發(fā)生泄漏轩褐。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,261評(píng)論 3 307
  • 文/蒙蒙 一玖详、第九天 我趴在偏房一處隱蔽的房頂上張望把介。 院中可真熱鬧,春花似錦蟋座、人聲如沸拗踢。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,264評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)巢墅。三九已至,卻和暖如春券膀,著一層夾襖步出監(jiān)牢的瞬間君纫,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,486評(píng)論 1 262
  • 我被黑心中介騙來泰國(guó)打工芹彬, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留蓄髓,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,511評(píng)論 2 354
  • 正文 我出身青樓舒帮,卻偏偏與公主長(zhǎng)得像会喝,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子玩郊,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,802評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • 原文轉(zhuǎn)自:http://www.54tianzhisheng.cn/2017/06/10/HashMap-Hash...
    beneke閱讀 3,154評(píng)論 1 66
  • java筆記第一天 == 和 equals ==比較的比較的是兩個(gè)變量的值是否相等,對(duì)于引用型變量表示的是兩個(gè)變量...
    jmychou閱讀 1,485評(píng)論 0 3
  • HashMap 是 Java 面試必考的知識(shí)點(diǎn)侦厚,面試官?gòu)倪@個(gè)小知識(shí)點(diǎn)就可以了解我們對(duì) Java 基礎(chǔ)的掌握程度反璃。網(wǎng)...
    野狗子嗷嗷嗷閱讀 6,657評(píng)論 9 107
  • 個(gè)人筆記,方便自己查閱使用 Contents Java LangAssignment, ReferenceData...
    freenik閱讀 1,368評(píng)論 0 6
  • 從三月份找實(shí)習(xí)到現(xiàn)在假夺,面了一些公司淮蜈,掛了不少,但最終還是拿到小米已卷、百度梧田、阿里、京東、新浪裁眯、CVTE鹉梨、樂視家的研發(fā)崗...
    時(shí)芥藍(lán)閱讀 42,184評(píng)論 11 349