前言 先預先說明,我這邊jdk的代碼版本為1.8.0_11,同時,因為我直接在本地jdk源碼上進行了部分修改、調試,所以,導致大家看到的我這邊貼的代碼,和大家的不太一樣。 不過,我對源碼進行修改、重構時,會保證和原始代碼的功能、邏輯嚴格一致,更多時候,可能只是修改變量名,方便理解 ...
hashcode,有點講究 什么是好的hashcode,一般來說,一個hashcode,一般用int來表示, 位。 下面兩個hashcode,大家覺得怎么樣 只有第 位 從右到左 不一樣,好像也沒有所謂的好壞吧 那,我們再想想,hashcode一般怎么使用呢 在hashmap中,由數組 鏈表 紅黑樹組成,其中,數組乃重中之重,假設數組長度為 的n次方, hashmap的數組,強制要求長度為 的n次 ...
2020-06-08 22:53 0 864 推薦指數:
前言 先預先說明,我這邊jdk的代碼版本為1.8.0_11,同時,因為我直接在本地jdk源碼上進行了部分修改、調試,所以,導致大家看到的我這邊貼的代碼,和大家的不太一樣。 不過,我對源碼進行修改、重構時,會保證和原始代碼的功能、邏輯嚴格一致,更多時候,可能只是修改變量名,方便理解 ...
曹工說JDK源碼(1)--ConcurrentHashMap,擴容前大家同在一個哈希桶,為啥擴容后,你去新數組的高位,我只能去低位? 曹工說JDK源碼(2)--ConcurrentHashMap的多線程擴容,說白了,就是分段取任務 曹工說JDK源碼(3)--ConcurrentHashMap ...
如何計算,一對key/value應該放在哪個哈希桶 大家都知道,hashmap底層是數組+鏈表(不討論紅黑樹的情況),其中,這個數組,我們一般叫做哈希桶,大家如果去看jdk的源碼,會發現里面有一些變量,叫做bin,這個bin,就是桶的意思,結合語境,就是哈希桶。 這里舉個例子,假設一個 ...
寫在前面的話 相關背景及資源: 曹工說Spring Boot源碼(1)-- Bean Definition到底是什么,附spring思維導圖分享 曹工說Spring Boot源碼(2)-- Bean Definition到底是什么,咱們對着接口,逐個方法講解 曹工說Spring Boot ...
寫在前面的話 相關背景及資源: 曹工說Spring Boot源碼(1)-- Bean Definition到底是什么,附spring思維導圖分享 曹工說Spring Boot源碼(2)-- Bean Definition到底是什么,咱們對着接口,逐個方法講解 曹工說Spring Boot ...
文章導航 Redis源碼系列的初衷,是幫助我們更好地理解Redis,更懂Redis,而怎么才能懂,光看是不夠的,建議跟着下面的這一篇,把環境搭建起來,后續可以自己閱讀源碼,或者跟着我這邊一起閱讀。由於我用c也是好幾年以前了,些許錯誤在所難免,希望讀者能不吝指出。 曹工說Redis源碼 ...
文章導航 Redis源碼系列的初衷,是幫助我們更好地理解Redis,更懂Redis,而怎么才能懂,光看是不夠的,建議跟着下面的這一篇,把環境搭建起來,后續可以自己閱讀源碼,或者跟着我這邊一起閱讀。由於我用c也是好幾年以前了,些許錯誤在所難免,希望讀者能不吝指出。 曹工說Redis源碼 ...
寫在前面的話 相關背景及資源: 曹工說Spring Boot源碼(1)-- Bean Definition到底是什么,附spring思維導圖分享 曹工說Spring Boot源碼(2)-- Bean Definition到底是什么,咱們對着接口,逐個方法講解 曹工說Spring Boot ...