原文:曹工說JDK源碼(4)--抄了一小段ConcurrentHashMap的代碼,我解決了部分場景下的Redis緩存雪崩問題

曹工說JDK源碼 ConcurrentHashMap,擴容前大家同在一個哈希桶,為啥擴容后,你去新數組的高位,我只能去低位 曹工說JDK源碼 ConcurrentHashMap的多線程擴容,說白了,就是分段取任務 曹工說JDK源碼 ConcurrentHashMap,Hash算法優化 位運算揭秘 什么是緩存雪崩 基本概念梳理 這個基本也是redis 面試的經典題目了,然而,網上不少博客對這個詞的定 ...

2020-06-11 15:08 1 824 推薦指數:

查看詳情

JDK源碼(2)--ConcurrentHashMap的多線程擴容,說白了,就是分段取任務

前言 先預先說明,我這邊jdk代碼版本為1.8.0_11,同時,因為我直接在本地jdk源碼上進行了部分修改、調試,所以,導致大家看到的我這邊貼的代碼,和大家的不太一樣。 不過,我對源碼進行修改、重構時,會保證和原始代碼的功能、邏輯嚴格一致,更多時候,可能只是修改變量名,方便理解 ...

Mon Jun 08 06:45:00 CST 2020 0 979
JDK源碼(1)--ConcurrentHashMap,擴容前大家同在一個哈希桶,為啥擴容后,你去新數組的高位,我只能去低位?

如何計算,一對key/value應該放在哪個哈希桶 大家都知道,hashmap底層是數組+鏈表(不討論紅黑樹的情況),其中,這個數組,我們一般叫做哈希桶,大家如果去看jdk源碼,會發現里面有一些變量,叫做bin,這個bin,就是桶的意思,結合語境,就是哈希桶。 這里舉個例子,假設一個 ...

Sun Jun 07 07:08:00 CST 2020 0 691
Redis源碼(4)-- 通過redis server源碼來理解 listen 函數中的 backlog 參數

文章導航 Redis源碼系列的初衷,是幫助我們更好地理解Redis,更懂Redis,而怎么才能懂,光看是不夠的,建議跟着下面的這一篇,把環境搭建起來,后續可以自己閱讀源碼,或者跟着我這邊一起閱讀。由於我用c也是好幾年以前了,些許錯誤在所難免,希望讀者能不吝指出。 Redis源碼 ...

Tue Apr 14 16:26:00 CST 2020 2 724
Redis源碼(3)-- redis server 啟動過程完整解析(中)

文章導航 Redis源碼系列的初衷,是幫助我們更好地理解Redis,更懂Redis,而怎么才能懂,光看是不夠的,建議跟着下面的這一篇,把環境搭建起來,后續可以自己閱讀源碼,或者跟着我這邊一起閱讀。由於我用c也是好幾年以前了,些許錯誤在所難免,希望讀者能不吝指出。 Redis源碼 ...

Mon Apr 13 16:33:00 CST 2020 0 1198
Redis源碼(7)-- redis server 的周期執行任務,到底要做些啥

文章導航 Redis源碼系列的初衷,是幫助我們更好地理解Redis,更懂Redis,而怎么才能懂,光看是不夠的,建議跟着下面的這一篇,把環境搭建起來,后續可以自己閱讀源碼,或者跟着我這邊一起閱讀。由於我用c也是好幾年以前了,些許錯誤在所難免,希望讀者能不吝指出。 Redis源碼 ...

Wed Apr 22 06:25:00 CST 2020 0 793
Redis源碼(1)-- redis debug環境搭建,使用clion,達到和調試java一樣的效果

概要 最近寫了spring系列,這個系列還在進行中,然后有些同學開始叫我大神,然后以為我各方面都比較厲害,當然了,我是有自知之明的,大佬大神什么的,當作一個稱呼就好,如果真的以為自己就是大神,那可能就走偏了。 其實我不少方面都比較薄弱,比如redis、mysql、jvm這些c語言寫的東西 ...

Mon Apr 06 00:28:00 CST 2020 2 4275
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM