摘要: jdk1.8我认为有几个主要的难点: 1. 同步机制 2. 红黑树的操作 3. 数学原理(重要是基于统计值的算法选取和变量设定) 其中这里只分析同步机制中比较重要的部分。 这篇东西和上一篇文章LongAdder的原理关联性比较大,如果懂LongAdder的则忽略。 全文主要从以下几方面来讲: 1. 阅读全文
posted @ 2019-08-03 21:03 misslengleng 阅读(1984) 评论(0) 推荐(1) 编辑
摘要: 写这篇文章是因为jdk1.8 concurrentHashMap计算容量扩容前用到了这个类,所以之后就研究了一下这个类。 本文主要有几点内容: 1. 为什么需要LongAdder这个类 2. LongAdder实现原理解析 为什么需要LongAdder这个类 看这个东西前先看看AtomicLong( 阅读全文
posted @ 2019-08-03 11:26 misslengleng 阅读(351) 评论(0) 推荐(1) 编辑
摘要: 上一节写了ReentrantLock, 那这一节就正好来写积蓄已久的1.7 concurrentHashMap了。因为1.7里面concurrentHashMap里面的segment是继承自ReentrantLock的。 我认为理解这个类有几个重点: 1. 理解这个类的设计和Hashtable有什么 阅读全文
posted @ 2019-08-02 22:02 misslengleng 阅读(530) 评论(0) 推荐(1) 编辑
摘要: 其实一直想专门写aqs(AbstractQueuedSynchronizer),但是发现这个类功能有点广泛,设计理念更是比较庞大。 可能以我的能力应该是先写jdk中应用到这个aqs的类,然后再重新回过头来整理aqs才是比较合理的思路。 而其中最常用而且直接的类应该就是ReentrantLock(重入 阅读全文
posted @ 2019-07-31 23:35 misslengleng 阅读(502) 评论(0) 推荐(0) 编辑
摘要: 其实这一篇是想写jdk1.7和jdk1.8里面的concurrentHashMap的,毕竟是阿汤哥介绍的硬核方法,之前研究了一个多星期,大致的内容和难点都看懂了,但是还是有一些不满足的地方。应该是一种知识点的依赖关系的问题: 1.8里面的concurrentHashMap是依赖于LongAdder的 阅读全文
posted @ 2019-07-29 21:12 misslengleng 阅读(357) 评论(0) 推荐(0) 编辑
摘要: 一般性的介绍(内存泄漏,基本用法,应用场景,最佳实践等)官网和其他博客都说的很清楚,这里主要记录一下我认为threadlocal的最核心的地方和难点。 主要会包括以下方面:1. 内存泄漏问题,对象引用关系 2. threadLocalHashCode值的选取 3. 深入探究set方法。 注:本文中代 阅读全文
posted @ 2019-07-23 08:52 misslengleng 阅读(532) 评论(0) 推荐(0) 编辑