摘要: 一、什么是抽象工厂模式 就是对一组具有相同主题的工厂进行封装(维基百科解释的很到位); 例如:生产一台PC机,使用工厂方法模式的话,一般会有cpu工厂,内存工厂,显卡工厂...但是使用抽象工厂模式的话,只有一个工厂就是PC工厂,但是一个PC工厂涵盖了cpu工厂,内存工厂,显卡工厂等要做的所有事; 二 阅读全文
posted @ 2017-08-17 17:05 孙秋翔_quinns 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 一、什么是工厂方法 具体的工厂对象负责生产具体的产品对象; 二、补充说明 符合开放--封闭"原则(OCP),新增产品时,只需新增工厂的实现类、产品的实现类,不修改原来的代码; 属于23种GOF设计模式中的一种; 三、角色 抽象工厂 具体工厂 抽象产品 具体产品 产品使用者 具体工厂'继承'抽象工厂; 阅读全文
posted @ 2017-08-17 16:25 孙秋翔_quinns 阅读(176) 评论(0) 推荐(0) 编辑
摘要: Java集合大致可分为Set、List和Map三种体系,其中Set代表无序、不可重复的集合;List代表有序、重复的集合;而Map则代表具有映射关系的集合。Java 5之后,增加了Queue体系集合,代表一种队列集合实现。 Java集合框架主要由Collection和Map两个根接口及其子接口、实现 阅读全文
posted @ 2017-08-17 01:40 孙秋翔_quinns 阅读(476) 评论(0) 推荐(0) 编辑
摘要: Java集合大致可分为Set、List和Map三种体系,其中Set代表无序、不可重复的集合;List代表有序、重复的集合;而Map则代表具有映射关系的集合。Java 5之后,增加了Queue体系集合,代表一种队列集合实现。 Java集合框架主要由Collection和Map两个根接口及其子接口、实现 阅读全文
posted @ 2017-08-17 01:15 孙秋翔_quinns 阅读(959) 评论(0) 推荐(0) 编辑
摘要: 第1部分 Vector介绍 Vector简介 Vector 是矢量队列,它是JDK1.0版本添加的类。继承于AbstractList,实现了List, RandomAccess, Cloneable这些接口。Vector 继承了AbstractList,实现了List;所以,它是一个队列,支持相关的 阅读全文
posted @ 2017-08-16 23:23 孙秋翔_quinns 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 1. ArrayList概述: ArrayList是List接口的可变数组的实现。实现了所有可选列表操作,并允许包括 null 在内的所有元素。除了实现 List 接口外,此类还提供一些方法来操作内部用来存储列表的数组的大小。 每个ArrayList实例都有一个容量,该容量是指用来存储列表元素的数组 阅读全文
posted @ 2017-08-14 21:17 孙秋翔_quinns 阅读(270) 评论(0) 推荐(0) 编辑
摘要: HashSet: HashSet实现了Set接口,它不允许集合中出现重复元素。当我们提到HashSet时,第一件事就是在将对象存储在 HashSet之前,要确保重写hashCode()方法和equals()方法,这样才能比较对象的值是否相等,确保集合中没有 储存相同的对象。如果不重写上述两个方法,那 阅读全文
posted @ 2017-08-14 16:22 孙秋翔_quinns 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 注:本人的源码基于JDK1.8.0,JDK的版本可以在命令行模式下通过java -version命令查看。 在前面的博文(Java集合框架源码(一)——hashMap)中我们详细讲了HashMap的原理,对于HashSet而言,它是基于HashMap来实现的,底层采用HashMap来保存元素。 一、 阅读全文
posted @ 2017-08-14 14:39 孙秋翔_quinns 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 1、HashMap不是线程安全的 HashMap是map接口的子类,是将键映射到值的对象,其中键和值都是对象,并且不能包含重复键,但可以包含重复值。HashMap允许null key和null value,而hashtable不允许。 2、HashTable是线程安全 HashMap是Hashtab 阅读全文
posted @ 2017-08-14 10:28 孙秋翔_quinns 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 从JDK1.2起,就有了HashMap,HashMap不是线程安全的,因此多线程操作时需要格外小心。 在JDK1.5中,Doug Lea给我们带来了concurrent包,从此Map也有安全的了。 ConcurrentHashMap具体是怎么实现线程安全的呢,肯定不可能是每个方法加synchroni 阅读全文
posted @ 2017-08-13 17:47 孙秋翔_quinns 阅读(1490) 评论(0) 推荐(0) 编辑