自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 问答 (1)
  • 收藏
  • 关注

原创 Java 数据结构 -- 21.Java 8 数据结构补充介绍 Hashtable

前言书接上文,上一篇中介绍并分析了 ArrayDeque,本篇将对线程安全的 Map 接口最终实现类 Hashtable 进行介绍与分析。

2019-07-01 13:21:42 166

原创 Java 数据结构 -- 17.Java 8 数据结构 TreeMap

前言书接上文,上一篇对 LinkedHashMap 进行了介绍与分析,本篇将对 TreeMap 进行介绍与分析。首先还是先来看一下 Map 的继承关系图:TreeMap 与其他 Map 最终实现类不同的部分是实现了 NavigableMap 接口,而 NavigableMap 继承于 SortedMap,所以在查看 TreeMap 之前还需要看一下这两个接口。/** * 为了防止与 L...

2019-06-27 14:32:20 299

原创 Java 数据结构 -- 20.Java 8 数据结构补充介绍 ArrayDeque

前言书接上文,上一篇对 EnumMap 进行了介绍与分析,本篇将对 ArrayDeque 进行介绍与分析。还是先来看一下 ArrayDeque 的继承关系图:可以看到它与其他数据结构不同的地方主要是实现了双端队列(Deque 接口)。由于 ArrayDeque 可以作为一个栈使用,所以在查看 ArrayDeque 之前先来看一下 Stack 的源码。/** * Stack 类代表了一...

2019-06-26 18:02:19 303

原创 Java 数据结构 -- 19.Java 8 数据结构补充介绍 EnumMap

前言书接上文,上一篇中对 EnumSet 进行了介绍与分析,本篇将对 EnumMap 进行介绍与分析。首先还是来看一下 EnumMap 的继承关系图:

2019-06-25 20:50:02 185

原创 Java 数据结构 -- 18.Java 8 数据结构补充介绍 EnumSet

前言书接上文,上一篇对 TreeMap 进行了介绍与分析,对于 Java 大部分经典数据结构都已介绍完毕,本篇将对 EnumSet 进行介绍与分析。

2019-06-25 14:16:55 303

原创 Java 数据结构 -- 16.Java 8 数据结构 LinkedHashMap

前言书接上文,上一篇中对 Map 接口的 最终实现类 HashMap 进行了介绍与分析,本篇将对 HashMap 的子类,实现了恒定顺序特性的 LinkedHashMap 进行介绍与分析。这里就不再放图了,直接来看 LinkedHashMap 的源码...

2019-06-22 15:57:47 328

原创 Java 数据结构 -- 15.Java 8 数据结构 HashMap

前言书接上文,上一篇中对 Map 接口与 AbstractMap 抽象类进行了介绍与分析,本篇将对 Map 接口的最终实现类 HashMap 做介绍与分析。Map 的继承结构图:这里可以看到,HashMap 直接继承了 AbstractMap 抽象类,实现了 Map 接口,所以接下来可以直接查看 HashMap 的源码。/** * Hash table based implementa...

2019-06-21 16:00:48 458

原创 Java 数据结构 -- 14.Java 8 数据结构 Map 数据结构

前言书接上文,上一篇中对 Set 接口的最终实现类 TreeSet 进行了介绍与分析,本篇开始将对 Map 接口进行分析。还是先来看下数据结构总继承关系图与 Map 部分的继承关系图:可以看到 Map 与 Collection 数据结构本身是没有关系的,但是上一个对于 Set 接口的介绍篇章中可以看到,无论是实现了 Collection 特性的 HashSet 还是 TreeSet 其实都...

2019-06-18 01:42:54 145

原创 Java 数据结构 -- 13.Java 8 数据结构 TreeSet

前言书接上文,上一篇中对 Set 接口最终实现类 HashSet 与 LinkedHashSet 做了介绍与分析,本篇将对另一种 Set 接口的最终实现类 TreeSet 进行介绍与分析。先来看下 TreeSet 完整的继承结构图可以看到 TreeSet 与 HastSet 不同,不仅继承自 AbstarctSet 类,还实现了 SortSet 与它的子类 NavigableSet 接口,...

2019-06-17 13:36:42 1005

原创 Java 数据结构 -- 12.Java 8 数据结构 HashSet

前言书接上文,上一篇中对于 Set 接口与 AbstractSet 抽象实现类做了介绍与分析,本篇将对 Set 最终实现类 HashSet 与 LinkedHashSet 做介绍与分析。先来看下 HashSet 的源码/** * 这个类实现了 Set 接口,有一个 hash table(事实上是一个 HashMap)支持。它对于套的迭代顺序不做保证,此处 * 特指,它不保证顺序能一直保持...

2019-06-16 18:02:03 289 1

原创 Java 经典设计模式-- 05.并发型模式

前言书接上文,终于来到了设计模式篇最硬核的并发设计模式介绍篇了,上一篇中对 Java 8 的行为模式中的常用设计模式做了介绍与分析,本篇将对 Java 8 的并发模式中的常用模式做介绍与分析,为了为整个 Java 8 设计模式篇章践行,本篇将对 Wiki 上几乎所有的并发模式做介绍与分析,由于并发模式并不属于典型的设计模式,所以它们的跨度和分散知识可能就很多。目录:双重检查锁定守卫检测对...

2019-06-16 00:48:53 1104 2

原创 Java 经典设计模式-- 04.行为型模式

前言书接上文,上一篇对 Java 中常用的结构性设计模式做了介绍与分析,本篇就对 Java 中常用的行为型设计模式进行介绍与分析。目录:责任链模式命令模式迭代器模式观察者模式策略模式模版方法模式简单介绍空对象模式在软件工程中, 行为型模式为设计模式的一种类型,用来识别对象之间的常用交流模式并加以实现。如此,可在进行这些交流活动时增强弹性。摘自 Wiki责任链模式...

2019-06-14 17:47:34 327 1

原创 Java 经典设计模式-- 03.结构型模式

前言书接上文,上一篇中创建型设计模式中的常用设计模式做了简单的介绍,本篇将继续对结构型设计模式中的常用模式进行介绍与分析。目录:适配器模式桥接模式组合模式修饰模式代理模式简单提及:MarkerModule适配器模式在设计模式中,适配器模式(英语:adapter pattern)有时候也称包装样式或者包装(wrapper)。将一个类的接口转接成用户所期待的。一个适配...

2019-06-14 00:00:04 201 1

原创 Java 经典设计模式-- 02.创建型模式

前言书接上文,上一篇对于 OOP 与设计模式做了简要的梗概,本篇将对创建模式中的几种数据模式进行介绍与分析。工厂模式工厂模式是一种很特殊的模式,这种模式本身就是随着社会进步而一道发展的,这里先来放飞一下自我,想象自己就是爱迪生,正在发明电灯泡,经历了无数次的失败之后,电灯泡终于发明成功了,这时候爱迪生对于电灯泡的每一个零部件以及它们的作用,它们的工作方式都了如指掌,假设他同时发明了三种灯泡,...

2019-06-13 16:06:07 243 1

原创 Java 经典设计模式-- 01.设计模式梗概

前言这两天逐字逐句的翻译 Java 8 数据结构的源代码有点头疼。。决定写几篇设计模式分析放松一下,哈哈。其实设计模式应该放在数据结构之前介绍,因为数据结构中也大量的使用了如适配器默认,门面模式等设计模式,了解了设计模式以后再看数据结构与其他源码会更加轻松。什么是 OOP?Object Oriented Programming,面向对象编程,将程序中所有的操作都抽象成与现实相近的模型,并通过...

2019-06-12 17:38:11 179

原创 Java 数据结构 -- 11.Java 8 数据结构 Set 数据结构

前言书接上文,上一篇中对链表最终实现类 LinkedList 做了分析,至此 Java 8 所有业界最佳实现的链表最终实现类都以分析完毕,本篇开始将对 Set 数据结构进行分析。还是先来看下数据结构总继承关系图与 Set 部分的继承关系图:其中 LinkedEntrySet 与 LinkedKeySet 是 HashMap 中的子类,由于也是继承自 AbstractSet,所以放在这里一...

2019-06-12 16:02:36 470

原创 Java 数据结构 -- 10.Java 8 数据结构 LinkedList

书接上文,上一篇中对链表结构最终实现类 Vector 做了分析,本篇将继续对 LinkedList 做分析。LinkedList 与 ArrayList/Vector 有一点不同,它的继承关系是 AbstractList -》 AbstractSequentialList -〉 LinkedList,并且实现了 Deque 接口,而 ArrayList/Vector 是直接继承自 Abstra...

2019-06-11 15:55:18 172

原创 Java 数据结构 -- 09.Java 8 数据结构 Vector

前言书接上文,上一篇对 ArrayList 进行了分析,本篇将继续对 List 数据结构的最终实现类 Vector 进行分析。Vector/**Vector 类实现了一个可增长的 objects 数组。就像数组一样,它包含可以通过整形下标访问的内容。但是,一个 Vector 类型的对象在创建后可以通过添加或者删除元素来根据需要增加或者缩小(长度)。每个 Vector 对象试图通过维护一个...

2019-06-11 14:13:26 186

原创 Java 数据结构 -- 08.Java 8 数据结构 ArrayList

前言书接上文,上一篇对 List 最终实现类(ArrayList,Vector 和 LinkedList)以外的 List 部分继承关系中的接口与类做了分析,本篇将对 ArrayList 进行分析。ArrayList/**可以重新规划容量的链表实现类。实现了所有链表的可选操作,并且容许所有原序,包括 null。除了实现了链表接口外,这个类提供了控制数组容量来内部存储链表的方法。(这个类大致与...

2019-06-10 21:02:03 221

原创 Java 数据结构 -- 07.Java 8 数据结构 List 数据结构

前言书接上文,上一篇中对 Java 8 中数据结构的结构接口与类做了简单的介绍,本篇将就 List 部分进行分析。首先来看下数据结构总继承关系图与 List 部分的继承关系图在《数据结构能力接口与能力器接口》中对 Iterable/Iterator 做了介绍,《数据结构中的结构接口与类概览 》篇中对 Collection 与 AbstractCollection 做了介绍,需要注意 Li...

2019-06-10 20:58:30 258

原创 Java 数据结构 -- 06.Java 8 数据结构中的结构接口与类概览

前言书接上文,上一篇中对 Java 能力接口与能力器接口进行了介绍,本篇开始正式进入 Java 8 数据结构的分析。Java 8 数据中业界最佳实现的数据结构接口与类大体上可以分为 4 类,List,Set,Map,Queue,先来看一下这四类数据结构整体的继承关系图可以看到还是比较庞杂的,其中还涉及到之前所说到的能力/能力器/流式处理/线程安全等诸多概念,所以本篇只是一个概览,接下去将按...

2019-06-09 04:23:37 276

原创 Java 数据结构 -- 05.Java 8 数据结构能力接口与能力器接口

书接上文,上一篇对 Java 8 流式处理进行了简单的介绍,本篇将对能力接口与能力器接口进行分析。在 Java 8 接口概览 中提到,Java 8 提供能力接口与它对应的能力器接口,有的比较器接口又有自己的比较器工具类,这样做的原因是为了屏蔽继承能力接口的不同数据结构实现类的内部结构差异,用能力器接口提供统一的实现能力的方法接口。接下来就对这些能力接口与能力器接口做下简单的介绍比较能力能力接...

2019-06-08 18:49:49 181

原创 Java 数据结构 -- 04.Java 8 数据结构流式处理

书接上文,上一篇中对 Java 8 的行为接口做了简单的介绍,本篇将对 Java 8 集合重要操作 流式处理类 Stream 做简单的介绍,有了前面的铺垫,阅读 Stream 的源码就比较清晰了。首先来了解一下 Stream 大致概念。Stream 接口...

2019-06-08 16:27:20 403

原创 Java 数据结构 -- 03.Java 8 数据结构中的行为接口

书接上文,上一篇对 Java 8 的新特性做了简单的介绍,由于这些接口大多是独立于数据结构架构之外,是 Java 8 中新增的,而 Java 8 的数据结构中有多处使用这些接口的新方法,并且 Java 8 提供的重要更新-- 流式处理类 Stream 中大量方法使用了行为接口参数,所以在阅读数据结构的源码之前,先来对这些接口做一下简单的了解。Consumer消费行为接口,以下是 Consume...

2019-06-07 01:53:05 154

原创 Java 数据结构 -- 02.Java 8 数据结构涉及到的版本新特性

书接上文,上一篇对 Java 8 数据结构中设计到的接口类型做了一个大致的分类,本篇就对数据结构中的 行为接口 1 与对应的能力器接口的源码做下浏览与分析。Java 8 新特性在分析行为接口类的源码之前,需要对 Java 8 的新特性有一个简单的了解查看 Java 官网对于函数式接口的说明可知@FunctionalInterface 是一个函数式接口注解类,标注这个注解的接口将被定义为函...

2019-06-07 01:52:48 137

原创 Java 数据结构 -- 01.Java 8 数据结构中纷繁接口的概览

前言经典的 Java 业界最佳实现数据结构主要有 List,Set,Map,通过各自不同的特性与方法来维护数据。以下就以这三种数据结构渐渐展开。List,Set 都是针对一组相同类型的对象的数据结构,以下成为 组数据结构 ,Map 则是另一种 字典数据结构 。本人才疏学浅,如有错误,望各位批评指正,共同进步,感谢。接口类型在 Java 8 数据结构这块的源码中,按我自己的理解,主要有三种类型...

2019-06-07 01:52:29 208

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除