自定义博客皮肤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)
  • 收藏
  • 关注

原创 【1.7版本】HashMap源码分析(一)

内容:本次源码分析的内容为HashMap的put(K k,V v)方法 主要流程: 一、先判断Entry数组是否被初始化了,没有则先做初始化的工作 二、Entry数组创建后,再判断key是否为空,为空则进入putForNullKey() 三、Entry数组创建了并且key不为null: 1、根据key进行哈希码的多次扰动处理得出hash 2、再根据key的哈希和数组长度减一作与运算计算出该key在数组上的位置(索引) 3、遍历索引对应的桶(链表),看是否能找到想要的节点(hash码和key都一致的那个key

2020-09-02 23:24:03 156 1

原创 关于AQS源码中公平锁的理解以及疑问

直入主题 可重入锁ReentrantLock中的实现方式有两种:公平锁和非公平锁,今天我们主要研究下公平锁 1、公平锁 调用lock.lock()时,会调用sync.lock(),具体来看下源码: ReentrantLock: public void lock() { sync.lock(); } FairSync: final void lock() { acquire(1); } AbstractQueuedSynchronizer:

2020-08-30 22:12:09 270 1

空空如也

空空如也

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

TA关注的人

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