java之hashMap

HashMap

    public static void main(String[] args){
        HashMap<String,Object> map = new HashMap<>();
        map.put("zxm","zhangxiaomin");
    }
數(shù)組
    連續(xù)的存儲空間
鏈表
    非連續(xù)的存儲空間,查詢的時間復(fù)雜度O(n)
紅黑樹
漫談 分布式

hashMap
hashTable
數(shù)據(jù)結(jié)構(gòu)是什么?
數(shù)據(jù)結(jié)構(gòu)緊跟著的應(yīng)該是算法。
算法分析完成應(yīng)該是多線程下的數(shù)據(jù)安全問題。
HashMap 線程安全的嗎?
hashMap的數(shù)據(jù)結(jié)構(gòu)是什么呢?

HashMap設(shè)計的初衷

jvm的工作原理是:

內(nèi)核(kernel)的工作原理:
電腦的工作原理
打開電源 --》 bois ---》 boot 內(nèi)核 ---》 啟動程序(內(nèi)核的主要工作是進程間的調(diào)度)--》操作磁盤。

HDFS

node1
node2
node3

REDIS
備注

HashMap

java1.7

? 數(shù)組 + 鏈表

? 初始化數(shù)據(jù)16 擴容0.75

? 數(shù)據(jù)超過16*0.75會擴容

多線程擴容會產(chǎn)生循環(huán)鏈表(不安全)

java1.8

? 數(shù)組 + 鏈表 + 紅黑樹

? 初始化數(shù)據(jù)16擴容0.75

HashMap的線程不安全主要體現(xiàn)在下面兩個方面:
1.在JDK1.7中,當并發(fā)執(zhí)行擴容操作時會造成環(huán)形鏈和數(shù)據(jù)丟失的情況。
2.在JDK1.8中,在并發(fā)執(zhí)行put操作時會發(fā)生數(shù)據(jù)覆蓋的情況。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容