自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(2)
  • 收藏
  • 关注

原创 你可能不清楚的Java细节(3)--JDK1.8中HashMap在出现hash碰撞时链表长度超过8就一定会变成红黑树?

如题,答案是:否.至少迄今为止零零散散看过的关于JDK1.8 HashMap的源码分析文章不下10个了.但印象中都是众口一词,说超过8就会转换成红黑树.但是很可惜,实际上不是的.原因核心代码如下(大体上调用关系就是 put->putVal->treeifyBin):putVal方法中相关部分// putVal方法中相关部分(put方法调用了putVal())if (binC...

2019-05-10 12:52:01 4574 21

原创 JDK源码-关于JDK1.8的`HashMap`的探究

关于JDK1.8的HashMap的探究HashMap的几个疑问大家都知道,HashMap是个散列表,笼统的说是就是数组(hash table)+链表/红黑树的形式.通过key的hashcode来确定在hash table中的位置,如果计算出来的位置相同,那么会将对应位置转换为链表,JDK1.8中如果链表上元素个数超过8个(实际上并不完全是),会转换为红黑树.先提出以下几个问题,有些是老生常谈...

2019-05-10 11:39:49 722

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除