亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

HashMap是非線程安全的,那么原因是什么呢?(HashMap的死鎖)

lieeps / 3000人閱讀

摘要:為了解決這個問題設計了一個閾值,其值為容量的,當所用容量超過了閾值后,就會自動擴充其容量。如果條件競爭發(fā)生了,那么就會產(chǎn)生死循環(huán)了。

由于HashMap的容量是有限的,如果HashMap中的數(shù)組的容量很小,假如只有2個,那么如果要放進10個keys的話,碰撞就會非常頻繁,此時一個O(1)的查找算法,就變成了鏈表遍歷,性能變成了O(n),這是Hash表的缺陷。

為了解決這個問題,HashMap設計了一個閾值,其值為容量的0.75,當HashMap所用容量超過了閾值后,就會自動擴充其容量。

在多線程的情況下,當重新調(diào)整HashMap大小的時候,就會存在條件競爭,因為如果兩個線程都發(fā)現(xiàn)HashMap需要重新調(diào)整大小了,它們會同時試著調(diào)整大小。在調(diào)整大小的過程中,存儲在鏈表中的元素的次序會反過來,因為移動到新的bucket位置的時候,HashMap并不會將元素放在鏈表的尾部,而是放在頭部,這是為了避免尾部遍歷。如果條件競爭發(fā)生了,那么就會產(chǎn)生死循環(huán)了。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/75156.html

相關(guān)文章

  • 【面試】Java相關(guān)

    摘要:可能會持有相同的值對象但鍵對象必須是唯一的。當有新任務到達時,線程池沒有線程則創(chuàng)建線程處理,處理完成后該線程緩存秒,過期后回收,線程過期前有新任務到達時,則使用緩存的線程來處理。解決死鎖問題的三種方法預防死鎖檢測死鎖及避免死鎖。 最近辭職準備面試,順便整理一下面試題分享給大家,如有錯誤歡迎指出 01. 你對面向?qū)ο笏枷氲睦斫猓?面向?qū)ο缶幊毯喎QOOP,是開發(fā)程序的一種方法、思想。面向...

    icattlecoder 評論0 收藏0
  • 超詳細Java面試題總結(jié)(二)之Java基礎(chǔ)知識篇

    摘要:超詳細的面試題總結(jié)一之基本知識多線程和虛擬機創(chuàng)建線程有幾種不同的方式你喜歡哪一種為什么繼承類實現(xiàn)接口應用程序可以使用框架來創(chuàng)建線程池實現(xiàn)接口。死亡線程方法執(zhí)行結(jié)束,或者因異常退出了方法,則該線程結(jié)束生命周期。死亡的線程不可再次復生。 超詳細的Java面試題總結(jié)(一)之Java基本知識 多線程和Java虛擬機 創(chuàng)建線程有幾種不同的方式?你喜歡哪一種?為什么? 繼承Thread類 實現(xiàn)R...

    wangjuntytl 評論0 收藏0
  • Java 最常見 200+ 面試題全解析:面試必備(附答案)

    摘要:的簡稱,運行環(huán)境,為的運行提供了所需環(huán)境。分割字符串,返回一個分割后的字符串數(shù)組。線程安全是線程安全的,而是非線程安全的。迭代器取代了集合框架中的,迭代器允許調(diào)用者在迭代過程中移除元素。 本文分為十九個模塊,分別是:?Java 基礎(chǔ)、容器、多線程、反射、對象拷貝、Java Web 、異常、網(wǎng)絡、設計模式、Spring/Spring MVC、Spring Boot/Spring Clou...

    hufeng 評論0 收藏0
  • 第10章:并發(fā)和分布式編程 10.1并發(fā)性和線程安全

    摘要:并發(fā)模塊本身有兩種不同的類型進程和線程,兩個基本的執(zhí)行單元。調(diào)用以啟動新線程。在大多數(shù)系統(tǒng)中,時間片發(fā)生不可預知的和非確定性的,這意味著線程可能隨時暫?;蚧謴?。 大綱 什么是并發(fā)編程?進程,線程和時間片交織和競爭條件線程安全 策略1:監(jiān)禁 策略2:不可變性 策略3:使用線程安全數(shù)據(jù)類型 策略4:鎖定和同步 如何做安全論證總結(jié) 什么是并發(fā)編程? 并發(fā)并發(fā)性:多個計算同時發(fā)生。 在現(xiàn)代...

    instein 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<