JDK源码
请叫我猿叔叔
慢慢积累 向着架构进发
展开
-
JDK8源码阅读(一) java.util.Object
一、类1.1 类修饰符A. Object是所有类的父类。B.包括数组在内的所有对象都实现了Object类中的方法。1.2 类结构图二、字段1.1 字段列表无。三、方法3.1 方法列表注:如上图,共有12个方法。另外包含了一个静态代码块。 绿色打开的锁代表是public, 红色关闭的代表是private, ...原创 2019-03-09 14:36:37 · 2538 阅读 · 0 评论 -
JDK8源码阅读(十三) AtomicBoolean
一、简介二、分析2.1 类结构2.1.0 类结构图2.2 内部类2.2.0 内部类列表图无2.3 字段2.3.0 字段列表图2.3.1unsafe /** * 内部使用Unsafe类的compareAndSwapInt方法进行CAS更新操作 */private static final Unsafe unsa...原创 2019-06-13 09:48:03 · 381 阅读 · 0 评论 -
JDK8源码阅读(十一) CopyOnWriteArrayList TODO
一、简介二、分析2.1 类结构2.1.0 类结构图2.2 内部类2.2.0 内部类列表图2.2.1COWIterator /** * 静态内部类迭代器COWIterator */ static final class COWIterator<E> implements ListItera...原创 2019-06-10 09:33:53 · 268 阅读 · 0 评论 -
JDK8源码阅读(九) ArrayList TODO
一、简介二、分析2.1 类结构2.1.0 类结构图2.2 内部类2.2.0 内部类列表图2.2.1 Itr2.2.2SuppliedThreadLocal2.2.3ListItr2.2.4SubList2.3 字段2.3.0 字段列表图2.3.1DEFAULT_CAPACITY ...原创 2019-06-04 17:32:58 · 163 阅读 · 0 评论 -
JDK8源码阅读(十四) AbstractQueuedSynchronizer TODO
一、简介原创 2019-06-17 09:46:34 · 155 阅读 · 0 评论 -
JDK8源码阅读(十五) ReentrantLock TODO
一、简介原创 2019-06-17 09:47:22 · 201 阅读 · 0 评论 -
JDK8源码阅读(十六) ReentrantReadWriteLock TODO
一、简介原创 2019-06-17 09:48:27 · 170 阅读 · 2 评论 -
JDK8源码阅读(十二) AtomicInteger TODO
一、简介二、分析2.1 类结构2.1.0 类结构图2.2 内部类2.2.0 内部类列表图无2.3 字段2.3.0 字段列表图2.3.1unsafe /** * 内部使用Unsafe类的compareAndSwapInt方法进行CAS更新操作 */private static final Unsaf...原创 2019-06-12 09:50:24 · 192 阅读 · 0 评论 -
JDK8源码阅读(十七) ConcurrentLinkedQueue TODO
一、简介二、分析2.1 类结构2.1.0 类结构图2.2 内部类2.2.0 内部类列表图2.2.1Itr2.2.2Node2.3 字段2.3.0 字段列表图2.3.1array /** * 内部维护的数组集合,只能通过getArray或setArray来访问 */private transi...原创 2019-06-25 19:12:20 · 198 阅读 · 0 评论 -
JDK8源码阅读(二十) PriorityBlockingQueue TODO
一、简介二、分析2.1 类结构2.1.0 类结构图2.2 内部类2.2.0 内部类列表图2.2.1Itr2.2.2PBQSpliterator2.3 字段2.3.0 字段列表图2.3.1 2.3.22.3.3lockOffset2.2.4UNSAFE2...原创 2019-07-01 22:34:36 · 198 阅读 · 0 评论 -
JDK8源码阅读(二十一) DelayQueue TODO
一、简介二、分析2.1 类结构2.1.0 类结构图2.2 内部类2.2.0 内部类列表图2.2.1Itr2.3 字段2.3.0 字段列表图2.3.1available 2.3.2leader2.3.3lock2.2.4q2.4 代码块2.4.1 静态代码...原创 2019-07-08 17:42:14 · 161 阅读 · 0 评论 -
JDK8源码阅读(十九) ArrayBlockingQueue TODO
一、简介二、分析2.1 类结构2.1.0 类结构图2.2 内部类2.2.0 内部类列表图2.2.1Itr2.2.2Itrs2.3 字段2.3.0 字段列表图2.3.1 2.3.22.3.3lockOffset2.2.4UNSAFE2.4 代码块2....原创 2019-07-03 11:58:15 · 143 阅读 · 1 评论 -
JDK8源码阅读(十) AtomicLong TODO
一、简介二、分析2.1 类结构2.1.0 类结构图2.2 内部类2.2.0 内部类列表图无2.3 字段2.3.0 字段列表图2.3.1unsafe /** * 内部使用Unsafe类的compareAndSwapLong方法进行CAS更新操作 */private static final Unsafe...原创 2019-06-06 14:13:38 · 367 阅读 · 0 评论 -
JDK8源码阅读(八) ThreadLocal<T> TODO
一、简介二、分析2.1 类结构2.1.0 类结构图2.2 内部类2.2.0 内部类列表图2.2.1ThreadLocalMap2.2.2SuppliedThreadLocal2.3 字段2.3.0 字段列表图2.3.1HASH_INCREMENT2.3.2nextHashCode2.3.3threadLocalHashCode...原创 2019-05-31 16:23:16 · 341 阅读 · 0 评论 -
JDK8源码阅读(四) java.lang.Comparable
一、类1.1 类修饰符A. 是一个接口,这个接口对实现它的每个类的对象施加了一个总的顺序。这种排序称为类的自然排序,类的CompareTo方法称为类的自然比较方法;B.实现此接口的对象List(和数组)可以按Collections.sort(和Array.sort)自动排序。实现此接口的对象可以用作已排序映射中的键或已排序集中的元素,而无需指定比较器;C.对于类C的每...原创 2019-03-14 11:58:44 · 425 阅读 · 0 评论 -
JDK8源码阅读(五) java.lang.CharSequence
一、类1.1 类修饰符A. 是一个接口,B.字符序列是字符值的可读序列。这个接口提供了对许多不同类型字符序列的统一只读访问。char值表示基本多语言平面(BMP)或代理项中的字符。有关详细信息,请参阅Unicode字符表示;C.此接口不优化equals和hashcode方法的常规约定。因此,比较实现charsequence的两个对象的结果通常是未定义的。每个对象可以由不同的...原创 2019-03-14 16:20:07 · 1318 阅读 · 0 评论 -
JDK8源码阅读(六) java.lang.String
一、类1.1 类修饰符A. string类表示字符串。Java程序中的所有字符串文字,如“ABC”,都是作为该类的实例实现的。字符串是常量;它们的值在创建后不能更改。字符串缓冲区支持可变字符串。因为字符串对象是不可变的,所以可以共享它们;B. 类字符串包括检查序列中单个字符、比较字符串、搜索字符串、提取子字符串以及创建字符串副本(所有字符都转换为大写或小写)的方法。大小写映射基于...原创 2019-03-15 11:50:16 · 1003 阅读 · 0 评论 -
JDK8源码阅读(二) java.util.Objects
一、类1.1 类修饰符A. 该类为final类型;B. 该类由一些静态的方法组成, 包含一些安全的非空操作或空操作或哈希值或比较俩个对象等的一些操作方法。1.2 类结构图二、字段1.1 字段列表无。三、方法3.1 方法列表注:如上图,共有24个方法。 绿色打开的锁代表是public, 红色关闭的代表是pri...原创 2019-03-12 17:17:08 · 866 阅读 · 0 评论 -
JDK8源码阅读(三) java.io.Serializable
一、类1.1 类修饰符A. 是一个接口;B.类的可序列化性由实现java.io.serializable接口的类启用。不实现此接口的类将不具有序列化或反序列化的任何状态。可序列化类的所有子类型本身都是可序列化的。序列化接口没有方法或字段,仅用于标识可序列化的语义;C. 为了使得不可序列化类的子类型被序列化,子类型可能会负责保存和还原父类型的公共、受保护和(如果可访问)包...原创 2019-03-13 16:38:15 · 630 阅读 · 0 评论 -
JDK8源码阅读(七) HashMap TODO
一、简介 本文主要讲解HashMap的原理和部分源码分析以及jdk8做的优化。 注: 本文章参考博文有: qazwyc博主的Java8 HashMap源码解析 , 尊重原创二、分析2.1 HashMap的结构是一个链表散列的数据结构,即 数组和链表的结合体。这样就兼具了寻址容易和增删方便的优点。结构示意图如下: ...原创 2019-05-27 09:09:58 · 632 阅读 · 3 评论 -
JDK8源码阅读(十八) LinkedBlockingQueue TODO
一、简介二、分析2.1 类结构2.1.0 类结构图2.2 内部类2.2.0 内部类列表图2.2.1Itr2.2.2LBQSpliterator2.2.3 Node2.3 字段2.3.0 字段列表图2.3.1capacity /** * 队列的容量 */ private final i...原创 2019-07-01 10:04:58 · 186 阅读 · 0 评论