Java(JDK1.9)集合框架源码阅读与归纳总结
文章平均质量分 94
对JDK集合框架的大部分常用类的源码中文注释已经同步到github:https://github.com/Dodozhou/JDK。并根据对源码的阅读,总结和归纳了一系列文章。将集合框架分层,对每一层的接口和抽象类的作用和所做的工作进行归纳记录,便于快速梳理和复习查阅。
Star_Ship
方向确定,继续前进。
展开
-
Java(JDK1.9)集合框架归纳总结——集合框架图与两个顶级接口
注:该系列文章总结自JDK1.9源码的文档注释和源码,我对源码的部分中文注释已经同步到Github:https://github.com/Dodozhou/JDK Java Collections Framework概述Java集合框架继承图: Java集合框架由两个顶层接口衍生而出。这两个接口区别如下:Collection:保存一维列表,有数组和链表两种形式。Map:保存二...原创 2018-04-06 17:04:20 · 1864 阅读 · 0 评论 -
Java(JDK1.9)集合框架归纳总结——Collection接口的第一层接口和抽象类
注:该系列文章总结自JDK1.9源码的文档注释和源码,我对源码的部分中文注释已经同步到Github:https://github.com/Dodozhou/JDK Collection的第一层接口和抽象类Collection第一层常用接口、类继承体系:Collection的直接后继有3个接口和一个抽象类。3个接口分别是List:Collection接口的有序集合实现,也叫...原创 2018-04-06 19:39:58 · 393 阅读 · 0 评论 -
Java(JDK1.9)集合框架归纳总结——Collection接口的第二层子接口和抽象类
注:该系列文章总结自JDK1.9源码的文档注释和源码,我对源码的部分中文注释已经同步到Github:https://github.com/Dodozhou/JDK Collection的第二层接口和抽象类Collection第二层常用接口、类继承体系: Collection继承体系的第二层,即List、AbstractCollection、Set和Queue的常用直接子类或接口如...原创 2018-04-06 21:29:59 · 540 阅读 · 0 评论 -
Java(JDK1.9)集合框架归纳总结——Collection接口的第三层——应用层
注:该系列文章总结自JDK1.9源码的文档注释和源码,我对源码的部分中文注释已经同步到Github:https://github.com/Dodozhou/JDK Collection接口的第三层——应用层&具体实现应用层就是各个抽象类、底层接口的具体实现,使我们实际使用的各种容器和工具类,如ArrayList、Vector、HashSet、TreeSet等。结构图如下:...原创 2018-04-07 12:53:53 · 701 阅读 · 0 评论 -
Java(JDK1.9)集合框架归纳总结——Map接口继承体系
注:该系列文章总结自JDK1.9源码的文档注释和源码,我对源码的部分中文注释已经同步到Github:https://github.com/Dodozhou/JDK Map接口实现概述Map的实现体系中,常用的类和接口可以大致分为三层。下面一一说明这些类或接口的特点和作用。第一层第一层包含一个抽象类AbstractMap和一个接口SortedMap。AbstractMap...原创 2018-04-07 15:42:56 · 1246 阅读 · 1 评论 -
TreeSet为什么要用TreeMap来作为底层容器?——来自JDK1.9源码的启示
TreeSet与TreeMap相信很多同学都知道TreeMap和TreeSet,也知道TreeSet是使用TreeMap来容纳元素的,那么问题来了: TreeSet从外观上看是一个一维数组,而TreeMap是一个二维的键值对。为什么要用一个二维的容器来装一维的数据呢?这样不是会浪费map的value域吗?TreeMap中的value里面又是装的什么呢? 这些问题困扰了我很久,直到我看到了T...原创 2018-03-28 21:33:37 · 716 阅读 · 1 评论 -
HashMap与HashTable的哈希算法——JDK1.9源码阅读总结
HashTable中的哈希算法下面是HashTable源码中的put方法:public synchronized V put(K key, V value) { // Make sure the value is not null if (value == null) { throw new NullPointerExceptio...原创 2018-04-04 12:42:03 · 828 阅读 · 0 评论 -
LinkedHashMap与LRU——来自源码的启示
LinkedHashMap是什么?public class LinkedHashMap<K,V> extends HashMap<K,V> implements Map<K,V>LinkedHashMap是HashMap的扩展,它根据元素的插入顺序或者访问顺序(accessOrderd属性指定),使用双向链表,将所有元素连接起来,使得对HashMap的遍历变得有序。 示意图如下:原创 2018-04-06 13:43:29 · 360 阅读 · 0 评论 -
Java序列化——Serializable、Externalizable源码阅读与总结
一、Java序列化概述1、什么是序列化序列化(Serialization):是将对象的状态信息转换为可以存储或传输的形式的过程。更通俗地讲,是将该对象字段和状态信息以字节流的方式输出到目的地。2、序列化的应用场景一是实现pojo对象的读写操作,将每个对象转换为字节流,而这些字节流可以被持久化到设备上,再次读取时会将字节流还原成对象。当我们希望某些数据能在程序停止运行后,还...原创 2018-04-01 22:36:26 · 534 阅读 · 0 评论 -
Java——transient关键字及Java对象序列化
转载自:http://www.cnblogs.com/lanxuezaipiao/p/3369962.html哎,虽然自己最熟的是Java,但很多Java基础知识都不知道,比如transient关键字以前都没用到过,所以不知道它的作用是什么,今天做笔试题时发现有一题是关于这个的,于是花个时间整理下transient关键字的使用,涨下姿势~~~好了,废话不多说,下面开始:1. transient的作转载 2018-04-01 18:08:39 · 1110 阅读 · 0 评论