设计模式学习笔记(1)

设计模式学习笔记(1)前言正文单例模式实现方式饿汉式单例优点缺点代码实现懒汉式单例优点缺点代码实现测试效果解决线程不安全问题1、加锁(synchronized)线程安全且不影响性能的懒汉式单例实现方式为什么静态内部类能实现线程安全呢? 前言 今天学习单例模式和原型模式。 正文 单例模式 单例模式:...

2018-11-30 17:18:46

阅读数 163

评论数 0

JAVA集合源码攻坚战(20)——BlockingQueue

JAVA集合源码攻坚战(20)——BlockingQueue前言正文什么是BlockingQueue?介绍方法注意点 前言 好,接下来看BlockingQueue。 正文 什么是BlockingQueue? BlockingQueue就是阻塞队列,它是继承了Queue的一个接口,它在检索和插入元素...

2018-11-06 17:24:36

阅读数 50

评论数 0

JAVA集合源码攻坚战(19)—— Deque

JAVA集合源码攻坚战(19)—— Deque前言正文什么是Deque? 前言 今天任务完成,继续学习源码~~ 正文 什么是Deque? 根据官方文档,Deque是一种两端都支持插入和移除操作的线性集合结构。 Deque是“double ended queue”的缩写,发音同“deck”。 双端队...

2018-11-06 13:02:31

阅读数 36

评论数 0

JAVA集合源码攻坚战(18)——AbstractQueue

JAVA集合源码攻坚战(18)——AbstractQueue前言正文 前言 正文

2018-11-05 10:08:32

阅读数 43

评论数 0

JAVA集合源码攻坚战(17)—— Queue

JAVA集合源码攻坚战(17)—— Queue前言正文源码解析 前言 本篇开始我们来分析Collection的最后一个主要分支——Queue队列。 正文 源码解析 package java.util; /** * 设计用于在处理之前保留元素的集合。 * 除了基础的Collection操作,队...

2018-10-31 17:23:49

阅读数 108

评论数 0

JAVA集合源码攻坚战(16)—— NavigableSet

JAVA集合源码攻坚战(16)—— NavigableSet前言正文源码分析查找操作查找并移除操作迭代器获得子集操作 前言 NavigableSet是对SortedSet的一个增强实现,能够进行数据的匹配。具体我们看分析代码。 正文 java.util Interface NavigableSe...

2018-10-30 15:00:11

阅读数 79

评论数 0

JAVA集合源码攻坚战(15)—— SortedSet

JAVA集合源码攻坚战(14)—— SortedSet前言正文标准源码解析子集操作元素操作比较器 前言 前面我们已经分析了HashSet这一个分支,今天我们来分析SortedSet这个分支。 正文 前面的HashSet实现是无序的,而这条线上的SortedSet,顾名思义,是有序的set集合。 j...

2018-10-30 10:37:26

阅读数 106

评论数 0

JAVA集合源码攻坚战(14)—— LinkedHashSet

JAVA集合源码攻坚战(14)—— LinkedHahSet前言正文 前言 今天快下班了,简单看了下LinkedHashSet的相关源码 o(*^@^*)o 正文 通过源码,我们可以看到,LinkedHashSet的源码很少很少。 /* * Copyright (c) 1997, 2017, O...

2018-10-29 17:29:10

阅读数 43

评论数 0

JAVA集合源码攻坚战(13)—— HashSet

JAVA集合源码攻坚战(13)—— HashSet前言正文什么是HashSetHashSet如何存储数据属性解析方法解析构造方法迭代器基础操作 前言 前面介绍了Set这一分支的接口和抽奖类,今天来看看它的一个具体实现类——HashSet。 正文 HashSet层次结构 java.util Cla...

2018-10-29 17:04:40

阅读数 22

评论数 0

JAVA集合源码攻坚战(12)—— AbstractSet

JAVA集合源码攻坚战(12)—— AbstractSet前言正文实现的方法equals方法hashCode方法removeAll方法无参构造器 前言 上一篇对Set接口的方法做了个简单的介绍,主要需要注意的,就是Set是不支持重复元素,并且,无法用索引来获取对应元素。因为可以看到,声明的方法里没...

2018-10-26 17:32:20

阅读数 34

评论数 0

JAVA集合源码攻坚战(11)—— Set

JAVA集合源码攻坚战(11)—— Set前言正文 前言 好,今天开始学Set,你说为什么?没有为什么!!W( ̄_ ̄)W 正文

2018-10-26 11:35:13

阅读数 41

评论数 1

JAVA集合源码攻坚战(10)——Stack

JAVA集合源码攻坚战(10)——Stack前言正文 前言 上篇我们简单介绍了下Vector,没有细讲,因为Vector和ArrayList实在没有什么很大的区别,最主要的就是一个是否是同步,一个扩容机制的区别。然后我们这篇就干脆把这一条支线讲完,接下来就是Vector的一个子类,有名的栈Stac...

2018-10-24 12:13:48

阅读数 20

评论数 0

JAVA集合源码攻坚战(9)—— Vector

JAVA集合源码攻坚战(9)—— Vector前言正文Vector 前言 上一篇博文已经讲到了AbstractSequentialList这个接口类,本来是想先看LinkedList的源码的,但是发现LinkedList实现了队列相关接口,所以这里还是先把list的其他部分讲完。 正文 Vecto...

2018-10-22 16:36:54

阅读数 27

评论数 0

JAVA集合源码攻坚战(8)——AbstractSequentialList

JAVA集合源码攻坚战(8)——AbstractSequentialList前言正文简介构造函数get操作set操作add操作remove操作addAll操作 前言 前面已经初步介绍过了Arraylist了,那么后面就应该讲讲经常会拿来和ArrayList进行对比的LinkedList吧,不过因为...

2018-10-12 14:34:27

阅读数 19

评论数 0

JAVA集合源码攻坚战(7)——ArrayList

前言 前面都是分析了一些接口或抽象类。是不是感觉很枯燥?那么今天就来看看十分常用的ArrayList,看看它到底是如何来实现前面说的那些接口或者抽象类的。 ArrayList 数据结构 我们说一个集合,不得不提的就是他存储的数据结构到底是怎样的。 ArrayList,通过名字就能看出,是Array...

2018-10-11 18:13:23

阅读数 41

评论数 0

JAVA集合源码攻坚战(6)——AbstractList

前言 前面我们已经分析过AbstractCollection和List这两个接口类了,接下来分析AbstractList。 AbstractList的父母 刚刚灵光一闪,想到一个不太恰当的比喻。比如AbstractList,继承了AbstractCollection,实现了List接口,那么Abs...

2018-10-10 18:00:46

阅读数 54

评论数 0

JAVA集合源码攻坚战(5)——AbstractCollection

前言 前面讲到Collection后,把这个类给漏掉了。 AbstractCollection是对Collection接口的一个直接实现,而像list和set集合的具体实现的抽象类,也都是通过继承它来实现的。 正文 根据官方文档: This class provides a skeletal i...

2018-10-09 16:52:14

阅读数 27

评论数 0

JAVA集合源码攻坚战(4)——List

前言 根据java 8 的官方文档,Collection接口类下面有三个子接口类,List、Set、Queue。 List 基础 List接口是定义了一个元素有序的、可重复的、可为null的集合结构。 为什么List中元素是有序的呢? 根据官方文档描述 The user of this int...

2018-10-09 14:52:14

阅读数 44

评论数 1

JAVA集合源码攻坚战(3)——Collection

前言 集合作为java中一个重要的组成部分,必须攻克! 什么是集合 在我看来,从本质上来说,集合首先是一个容器,里面可以存放数据,不管是基本类型还是其他类型的数据。从作用上来说,集合又提供了一些方法,能对存放在里面的数据进行操作,增删查等等。 什么是集合框架 在java 2 之前,已经有许多类来存...

2018-10-09 10:40:31

阅读数 43

评论数 0

JAVA集合源码攻坚战(2)——ListIterator

前言 上一篇主要介绍了java集合框架的一个整体结构,并简单分析了下Iterator接口的源码,接下来分析ListIterator的源码 ListIterator ListIterator也是一个接口类,继承了Iterator接口,对比于Iterator,它的方法如下: boolean hasN...

2018-10-09 09:19:19

阅读数 36

评论数 0

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