JDK源码阅读
本专栏将囊括笔者JDK的阅读笔记,希望从底层加深对Java语言字符串、集合类、IO、并发编程等内容的理解,并学习经典源码的编程技巧以及编程规范
da_kao_la
这个作者很懒,什么都没留下…
展开
-
迭代器模式与Java Iterator源码
迭代器模式迭代器模式是一种将集合的增删改操作与集合的顺序遍历操作分离的设计模式。集合只负责增删改操作,迭代器对于集合的内部类,专门负责顺序遍历。Java的Iterator是迭代器模式的经典实现。笔者jdk版本是11.0.4,不同版本的jdk的Iterator相关类及其实现有所不同,下面以jdk11.0.4为例。Iteratorjdk定义了一个Iterator接口,声明了hasNext, ne...原创 2020-02-08 12:06:44 · 286 阅读 · 0 评论 -
装饰器模式与Java IO
装饰器模式装饰器模式是一种类继承的替代方案,用于以客户端透明的方式在基类上增加各种新的功能。相比于继承,使用装饰器模式可以显著减少类的个数。以下以绘图形状为例展示装饰器模式。装饰器模式的基础是形状接口Shape.public interface Shape { public void draw();}核心是实现了Shape接口并以Shape对象作为属性的ShapeDecorat...原创 2020-01-30 12:15:27 · 214 阅读 · 0 评论 -
建造者模式与StringBuilder源码
建造者模式建造者模式是一种对象创建模式,用于组合对象的创建。当一个对象由多个对象组合而成,并且组合可能发生较大的变化时,可以采用建造者模式将子对象的构造和子对象的组合封装起来。以下是快餐店组装食物的一个例子。驱动类:Main.javapublic class Main { public static void main(String[] args) { Meal ch...原创 2020-01-29 11:43:39 · 443 阅读 · 0 评论 -
Java双基准快速排序算法java.util.DualPivotQuicksort源码阅读
Java双基准快速排序算法源码阅读jdk版本:jdk1.8.0_191Java数组和List对象的排序方法分别是Arrays.sort(T[] a)和Collections.sort(List<T> list),分别位于java.util.Arrays和java.util.Collections类中. 由于List底层采用数组实现,因此Collections.sort方法也是通过调...原创 2019-08-04 09:44:21 · 751 阅读 · 0 评论 -
HashMap与HashSet源码阅读
HashMap与HashSet源码阅读HashMap文件名: java.util.HashMap原理:用数组表示哈希桶,根据哈希值将对象散列在对应的哈希桶中,如果发生Collision,则有开放地址法和链表法两种处理方式。Java的HashMap采用的是链表法,而且在Java8及其后续版本,将链表改为了红黑树,为此提高查询效率。关键的属性和方法计算哈希static fi...原创 2019-03-31 22:26:10 · 134 阅读 · 0 评论