java源码品读
文章平均质量分 79
业精于勤荒于嬉,一方面为了提高java技术,另一方面为了给自己一个动力,每隔一段时间拜读一下大神们写的源码,让自己的代码水平跟进一步。
也许我太傻
一步一印,才能看到自己想要的风景。
展开
-
写在前面的话(java源码品读目录)
也许是耐不住一颗躁动的心,突发奇想写一些东西,或许头脑愚钝,有些理解有待考究,总归写出来聊以自慰。 希望能够以这种方式把一些好的东西保持下去,也希望能在与更多同行人士的交流中让自己更快的成长,如此于自己于家庭于社会都有益。专题的内容会从简单到复杂,也许会有一定的跳跃性,这也跟博主的工作内容会有一些关系,还望诸位能够理解。专题的更新不定时,刚开始可能快一些,后来可能慢一些,但是不会停机。本...原创 2018-04-11 14:28:54 · 363 阅读 · 0 评论 -
java源码品读(13)— LinkedList
概述之前说过了LinkedList的相关的父类,今天我们来看看LinkedList本身的内容。 众所周知,ArrayList和LinkedList是我们工作中经常用到的两种集合,这两兄弟也经常会被拿到一起来做比较,ArrayList因其底层的数组结构,所以其改和查的效率相当高,但是增和删的效率就相对较低,而LinkedList则正好相反,增和删都因其底层的链式结构,效率很高,而改和查就需要先...原创 2018-09-21 17:15:23 · 314 阅读 · 0 评论 -
java源码品读(12)— Deque
Deque 继承队列Queue,也是一个线性的结构,但与队列不同的一点是,Deque是一个双向的队列。 详细一点,按作者的话说,就是一个支持两端添加和删除的队列,大多数Deque的实现没有固定的大小界限, 当然也同样支持容量限制的实现。Deque中的方法为我们提供了添加、删除和检查的方法,当然也是双向的,同时也会像Queue中的方法一样,未成功的处理防止一类直接抛出异常,一类是返回特殊值,...原创 2018-07-26 18:01:21 · 251 阅读 · 0 评论 -
java源码品读(11)— Queue
前面看了linkedList的父类,下面两次文章我们看它的两个实现类,Deque和Queue。linkedList是一个链式的集合,要想了解它就要先了解一下队列Queue。Queue是Java Collections Framework中的一员,为了顺序处理前保存元素所做的集合。 除了集合的基本操作之外,Queue提供了额外的插入、提取和检查的方法。 而每一种方法都有两种情况:一种是错...原创 2018-07-24 19:16:22 · 178 阅读 · 0 评论 -
java源码品读(10)— AbstractSequentialList
之前看了ArrayList的一些内容,而说起ArrayList就会想起另一个比较常用的类:LinkedList。public class LinkedList<E> extends AbstractSequentialList<E> implements List<E>, Deque<E>, Cloneable, java.io.Se...原创 2018-07-05 11:05:05 · 303 阅读 · 0 评论 -
java源码品读(9)— Spliterator
Spliterator接口是1.8新加的接口,字面意思可分割的迭代器,不同以往的iterator需要顺序迭代,Spliterator可以分割为若干个小的迭代器进行并行操作,既可以实现多线程操作提高效率,又可以避免普通迭代器的fail-fast机制所带来的异常。Spliterator可以配合1.8新加的Stream进行并行流的实现,大大提高处理效率。原创 2018-05-28 16:45:41 · 3791 阅读 · 2 评论 -
java源码品读(8)— ArrayList(二)
紧接上一篇,ArrayList中已经指定存放数据的方式是数组,那么迭代器的实现就可以更加的具体,下面我们就来看看ArrayList中的这些具体实现。首先是获取迭代器的几个方法iterator()listIterator()、listIterator(final int index) 获取的方法跟AbstractList的获取方式几乎一致,这里源码就不再贴出,稍有不同的是ListItr...原创 2018-05-15 15:03:07 · 237 阅读 · 0 评论 -
java源码品读(7)— ArrayList(一)
ArrayList是list的一个重要的实现,是经常会在代码中见到的一个几个,值得我们仔细的看一看。ArrayList继承AbstractList类,实现List、RandomAccess,、Cloneable、java.io.Serializable等接口,AbstractList、List、RandomAccess在之前的博文中都有说道,Cloneable、Serializable接口跟R...原创 2018-05-09 17:00:41 · 195 阅读 · 0 评论 -
java源码品读(6)— AbstractList
读完了List接口和AbstractCollection,我们来看AbstractList,AbstractList继承AbstractCollection并实现List接口,是ArrayList、Vector和Stack等重要类的超类。它实现了 List 的一些位置相关操作(比如 get,set,add,remove),是第一个实现随机访问方法的集合类,但不支持添加和替换。还是老规矩,只看重...原创 2018-05-04 11:08:01 · 218 阅读 · 0 评论 -
java源码品读(5)— List
List可能是大部分使用者最先接触到的集合类型,提供了较为简单的实现,实现数据的处理。List是有顺序的、可重复的、元素可为null的集合。存储内容时直接在内存中开辟一块连续的空间,然后将空间地址与索引相对应。下面是List中较之Collection新定义的一些方法:replaceAll方法 default void replaceAll(UnaryOperator&...原创 2018-04-28 11:32:53 · 213 阅读 · 0 评论 -
java源码品读(4)— AbstractCollection
Collection读完我们大致上知道这个接口为我们规划处那些接口,下面的几个篇目,就看一看Collection的一些实现,捋一捋大神的代码思路(手动滑稽)。AbstractCollection是Collection的一个一级实现,具体实现了Collection中的几个通用的方法,之前Collection中说过的方法属性就不再赘述,只看那些新增的东西。构造器protected Ab...原创 2018-04-23 17:56:40 · 284 阅读 · 0 评论 -
java源码品读(3)— Collection
看完了Iterable接口,接着来看Collection接口,接口中为子集合定义了各种基础的方法,方便我们使用。这是一个经常在工作中使用到的接口,Collection接口也有很多比较重要的实现,比如AbstractCollection,List,Set,Queue,CollectionView等都是比较经典的实现,值得好好的研究。一个一个来看:Collection,全称java.uti...原创 2018-04-19 19:51:50 · 203 阅读 · 0 评论 -
java源码品读(2)— Iterable
在java中,日常运用比较多的就是各式各样处理数据的集合类,近段时间的java源码品读会更多地从这方面的源码读起。 说起集合,大家可能首先会想到的是用的比较多的list和map,而他们有一个共同的父接口Iterable,在1.8中Iterable接口中又为我们带来了一些新的东西,经过这两天的了解也算是略知一二,在这里写一写,如果有写错的地方还望大佬指出。Iterable接口是从jdk1.5才...原创 2018-04-16 16:28:16 · 399 阅读 · 0 评论 -
java源码品读(1)— Object
java是一门面向对象的语言,那么就从一切对象的根本Object读起吧。位置:java.lang.Object * Class {@code Object} is the root of the class hierarchy. * Every class has {@code Object} as a superclass. All objects, * including ar...原创 2018-04-11 19:28:38 · 336 阅读 · 0 评论