摘要:
HashSet源码分析: 先来看一下它的构造方法: 呃~~居然它的底层是用HashMap来实现的,颠覆三观,那它究竟是如何来用的呢?继续来往下跟: 对于HashSet而言是没有key->value的结构的,那它是怎么跟HashMap关联到一块的呢?接着得查看add方法了: 也就是将我们往HashSe 阅读全文
摘要:
Stack: 代码实现: 编译运行: Queue: 其具体实现: 编译运行: 阅读全文
摘要:
源码分析: 我们知道LinkedList的底层是采用双向链表来实现的,所以下面来从源码角度来分析一下,先来看一下它的类结构: 然后看一下它的构造: 而这个header又是什么东东呢? 是一个Entry类型,好眼熟,对于HashMap遍历的时候不就用过Entry么,那看一眼它长啥样? 好,接着咱们会往 阅读全文
摘要:
源码分析: 对于ArrayList应该是开发当中每天都会与之打交道的,都知道它底层是由数组来实现的,但对于它底层的具体实现细节说实话却道不出一二来,所以打开它的源代码一探究竟,先来看一下应用代码: 先查看一下它的类继承体系: 比较复杂,接着根据咱们调用的是它的默认构造方法来初始化ArrayList的 阅读全文
摘要:
对于wait和sleep貌似都会阻塞线程,但是它们确实是很大的区别的,所以下面一点点来探讨: 区别一、Sleep()是线程里面的方法,而Wait()是Object类的方法。这个比较简单,直接看代码便知: 区别二、sleep()方法不需要被notify唤醒,而wait()则需要【当然wait(10)这 阅读全文
摘要:
模板方法模式详解: 概念模板方法是通过定义一个算法骨架,而将算法中的步骤延迟到子类,这样子类就可以复写这些步骤的实现来实现特定的算法。 使用场景1、多个子类有公有的方法,并且逻辑基本相同时。2、重复,复杂的算法,可以把核心算法设计为模板方法。3、重构时,模板方法模式是一个经常使用的模式。 UML结构 阅读全文
摘要:
adapter模式详解: 适配器模式定义将一个接口转换成客户端希望的另一个接口,适配器模式使接口不兼容的那些类可以一起工作,其别名为包装器(Wrapper)。 类适配器①、类适配器定义:类适配器模式把适配的类的API转换成目标类的API。②、UML结构图解析:③、code详解:先定义Target接口 阅读全文
摘要:
java的builder模式详解: 概念:建造者模式是较为复杂的创建型模式,它将客户端与多含多个组成部分(或部件)的复杂对象的创建过程分离。 使用场景:当构造一个对象需要很多参数的时候,并且参数的个数或者类型不固定的时候。 UML结构图分析:下面具体介绍一下角色:Builder:它为创建一个产品Pr 阅读全文
摘要:
单例的介绍: 单例的概念:单例模式是一种对象创建模式,它用于产生一个对象的具体实例,它可以确保系统中一个类只产生一个实例。 好处:1、对于频繁使用的对象,可以省略创建对象所花费的时间,这对于那些重量级对象而言,是非常可观的一笔系统开销。2、由于new操作的次数减少,因而对系统内存的使用频率也会降低, 阅读全文
摘要:
什么是ListView: ListView就是一个能数据集合以动态滚动的方式显示在用户界面上的View。 ListView适配器模式: 有了Adapter可以将数据源与view进行分离~ ListView的recycleBin机制: 对于列表可能会有成千上万条数据,那ListView是如何可以做到不 阅读全文