自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一骑绝尘,笑傲江湖

技术驱动人生,技术改变生活

  • 博客(72)
  • 资源 (13)
  • 问答 (2)
  • 收藏
  • 关注

转载 适配器模式(转载)

在阎宏博士的《JAVA与模式》一书中开头是这样描述适配器(Adapter)模式的:  适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。适配器模式的用途  用电器做例子,笔记本电脑的插头一般都是三相的,即除了阳极、阴极外,还有一个地极。而有些地方的电源插座却只有两极,没有地极。电源插座与笔记本电脑的电源插头不匹配使得笔...

2018-09-13 20:29:37 219

转载 抽象工厂模式(转载)

场景问题  举个生活中常见的例子——组装电脑,我们在组装电脑的时候,通常需要选择一系列的配件,比如CPU、硬盘、内存、主板、电源、机箱等。为讨论使用简单点,只考虑选择CPU和主板的问题。  事实上,在选择CPU的时候,面临一系列的问题,比如品牌、型号、针脚数目、主频等问题,只有把这些问题都确定下来,才能确定具体的CPU。  同样,在选择主板的时候,也有一系列问题,比如品牌、芯片组、集成...

2018-09-13 20:12:22 220

转载 原型模式(转载)

在阎宏博士的《JAVA与模式》一书中开头是这样描述原型(Prototype)模式的:  原型模式属于对象的创建模式。通过给出一个原型对象来指明所有创建的对象的类型,然后用复制这个原型对象的办法创建出更多同类型的对象。这就是选型模式的用意。原型模式的结构  原型模式要求对象实现一个可以“克隆”自身的接口,这样就可以通过复制一个实例对象本身来创建一个新的实例。这样一来,通过原型实例创建新的...

2018-09-13 19:40:25 200

转载 享元模式(转载)

在阎宏博士的《JAVA与模式》一书中开头是这样描述享元(Flyweight)模式的:  Flyweight在拳击比赛中指最轻量级,即“蝇量级”或“雨量级”,这里选择使用“享元模式”的意译,是因为这样更能反映模式的用意。享元模式是对象的结构模式。享元模式以共享的方式高效地支持大量的细粒度对象。Java中的String类型  在JAVA语言中,String类型就是使用了享元模式。Strin...

2018-09-13 19:04:11 132

转载 备忘录模式(转载)

在阎宏博士的《JAVA与模式》一书中开头是这样描述备忘录(Memento)模式的:  备忘录模式又叫做快照模式(Snapshot Pattern)或Token模式,是对象的行为模式。  备忘录对象是一个用来存储另外一个对象内部状态的快照的对象。备忘录模式的用意是在不破坏封装的条件下,将一个对象的状态捕捉(Capture)住,并外部化,存储起来,从而可以在将来合适的时候把这个对象还原到存储起...

2018-09-13 12:28:41 244

转载 迭代器模式(转载)

在阎宏博士的《JAVA与模式》一书中开头是这样描述迭代子(Iterator)模式的:  迭代子模式又叫游标(Cursor)模式,是对象的行为模式。迭代子模式可以顺序地访问一个聚集中的元素而不必暴露聚集的内部表象(internal representation)。聚集和JAVA聚集  多个对象聚在一起形成的总体称之为聚集(Aggregate),聚集对象是能够包容一组对象的容器对象。聚集依...

2018-09-13 12:13:51 897

转载 解释器模式(转载)

在阎宏博士的《JAVA与模式》一书中开头是这样描述解释器(Interpreter)模式的:  解释器模式是类的行为模式。给定一个语言之后,解释器模式可以定义出其文法的一种表示,并同时提供一个解释器。客户端可以使用这个解释器来解释这个语言中的句子。解释器模式的结构  下面就以一个示意性的系统为例,讨论解释器模式的结构。系统的结构图如下所示:  模式所涉及的角色如下所示:  (...

2018-09-12 09:17:43 120

转载 模板方法模式(转载)

在阎宏博士的《JAVA与模式》一书中开头是这样描述模板方法(Template Method)模式的:  模板方法模式是类的行为模式。准备一个抽象类,将部分逻辑以具体方法以及具体构造函数的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现。这就是模板方法模式的用意。模板方法模式的结构  模板方法模式是所有模式中...

2018-09-12 09:02:27 95

转载 命令模式(转载)

在阎宏博士的《JAVA与模式》一书中开头是这样描述命令(Command)模式的:  命令模式属于对象的行为模式。命令模式又称为行动(Action)模式或交易(Transaction)模式。  命令模式把一个请求或者操作封装到一个对象中。命令模式允许系统使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。命令模式的结构  命令模式是对命令的封装。命...

2018-09-12 08:40:17 122

转载 访问者模式(转载)

在阎宏博士的《JAVA与模式》一书中开头是这样描述访问者(Visitor)模式的:  访问者模式是对象的行为模式。访问者模式的目的是封装一些施加于某种数据结构元素之上的操作。一旦这些操作需要修改的话,接受这个操作的数据结构则可以保持不变。分派的概念  变量被声明时的类型叫做变量的静态类型(Static Type),有些人又把静态类型叫做明显类型(Apparent Type);而变量所引...

2018-09-11 19:52:09 117

转载 代理模式(静态代理+动态代理)(转载)

代理模式是Java常见的设计模式之一。所谓代理模式是指客户端并不直接调用实际的对象,而是通过调用代理,来间接的调用实际的对象。为什么要采用这种间接的形式来调用对象呢?一般是因为客户端不想直接访问实际的对象,或者访问实际的对象存在困难,因此通过一个代理对象来完成间接的访问。在现实生活中,这种情形非常的常见,比如请一个律师代理来打官司。下面例子的代码可以访问源码。欢迎star,欢迎fork代...

2018-09-11 19:09:12 121

转载 门面模式(外观模式)(转载)

针对外观模式,在项目开发和实际运用中十分频繁,但是其极易理解,下面就简要介绍一下。一、概念介绍  外观模式(Facade),他隐藏了系统的复杂性,并向客户端提供了一个可以访问系统的接口。这种类型的设计模式属于结构性模式。为子系统中的一组接口提供了一个统一的访问接口,这个接口使得子系统更容易被访问或者使用。 二、角色及使用场景  简单来说,该模式就是把一些复杂的流程封装成一个接口...

2018-09-11 18:54:14 94

转载 中介者模式(转载为主)

原文出处:http://blog.csdn.net/zhengzhb/article/details/7430098 定义:用一个中介者对象封装一系列的对象交互,中介者使各对象不需要显示地相互作用,从而使耦合松散,而且可以独立地改变它们之间的交互。类型:行为类模式类图:中介者模式的结构       中介者模式又称为调停者模式,从类图中看,共分为3部分: 抽象中介者:...

2018-09-11 17:13:53 109

转载 状态模式(转载)

状态模式(State)的定义定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类状态模式(State)适用性  1.一个对象的行为取决于它的状态,并且它必须在运行时刻根据状态改变它的行为。  2.一个操作中含有庞大的多分支的条件语句,且这些分支依赖于该对象的状态...

2018-09-10 12:45:59 120

原创 ubuntu14.04编译android5.1.1

1. 安装sudo apt-get install openssh-serversudo apt-get install curlsudo apt-get install gitsudo apt-get install vimsudo apt-get install openjdk-7-jdk   2. 配置gitgit config --global user.email "...

2018-09-10 09:42:17 1326

转载 责任链(委托)模式

在阎宏博士的《JAVA与模式》一书中开头是这样描述责任链(Chain of Responsibility)模式的:  责任链模式是一种对象的行为模式。在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织和分配...

2018-09-07 11:16:01 406

转载 策略模式

《JAVA与模式》之策略模式(转载自http://www.cnblogs.com/java-my-life/archive/2012/05/10/2491891.html)在阎宏博士的《JAVA与模式》一书中开头是这样描述策略(Strategy)模式的:  策略模式属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算...

2018-09-07 10:18:30 118

原创 构造者Builder模式

根据对象的属性行为创建实例,通常有几种方法:(1)通过带有参数的构造函数(同时函数重载),来满足根据不同属性(必选属性,可选属性)创建对象(2)通过无参构造函数(或者有参构造函数),再配合属性的getter,setter方法灵活地设置对象的属性(3)通过Builder模式创建对象分析几种方式的特点:方式(1)(2)对于简单对象的创建比较合适,这种场景下对象属性基本固定且属性的数...

2018-09-07 09:11:11 871

原创 观察者模式

在对象之间定义了一对多的依赖,这样一来,当一个对象改变状态,依赖它的对象会收到通知并自动更新。其实就是发布订阅模式,发布者发布信息,订阅者获取信息,订阅了就能收到信息,没订阅就收不到信息。(Android中Eventbus框架就是这种模式典型实现)举例:以微信公众号为例:测试代码:输出结果: 这种模式在实际项目中经常遇到,也是比较容易掌握的。...

2018-09-06 10:17:32 109

原创 装饰者模式

动态地给一个对象添加一些额外的职责。就增加功能来说, Decorator模式相比生成子类更为灵活。该模式以对客 户端透明的方式扩展对象的功能。其中具体涉及的角色有:(1)抽象组件:定义一个抽象接口,来规范准备附加功能的类(2)具体组件:将要被附加功能的类,实现抽象构件角色接口(3)抽象装饰者:持有对具体构件角色的引用并定义与抽象构件角色一致的接口(4)具体装饰:实现抽象装饰者角色,负...

2018-09-06 09:21:24 99

原创 组合模式

组合多个对象形成树形结构以表示具有“整体—部分”关系的层次结构。组合模式对单个对象(即叶子对象)和组合对象(即容器对象)的使用具有一致性,组合模式又可以称为“整体—部分”(Part-Whole)模式,它是一种对象结构型模式。Android中View层次结构就采用了组合模式。View是最高层的抽象,它既代表单独的View视图,又可以表示ViewGroup视图容器。组合模式的关键是定义...

2018-09-05 17:24:27 108

原创 桥梁模式

桥梁模式的用意是“将抽象化(Abstraction)与实现化(Implementation)脱耦,使得二者独立的变化”。抽象化 其实就是根据事物的特征或者行为共性抽取出抽象类或者接口的过程。实现化抽象化给出的具体实现,就是实现化。其实也就是根据事物特征或者行为的差异性 给出不同的具体实现。即抽象类的实现或者接口的实现类。脱耦所谓耦合,就是两个实体的行为的某种强关联。而将...

2018-09-05 15:44:24 1381

原创 工厂模式

1.  根据静态工厂方法创建对象2. 在1的基础上,提供一个工厂类的接口。工厂类均要实现这个接口(即抽象工厂)。那么不同的抽象工厂实现类就可以去创建不同类别的对象。 3. 可以在工厂接口中定义多个方法,对应创建不同类型的对象          ...

2018-09-04 18:54:39 86

原创 单例设计模式

1. 饿汉式 2.懒汉式 3. 懒汉式中多线程并发问题解决 (双重判空)

2018-09-04 16:14:46 70

原创 SpringMVC 和 Mybatis 整合流程

(1) dao层applicationContext-dao.xml 配置数据源,SqlSessionFactoryBean(SqlSessionFactory),MapperScannerConfigurer(mapper.xml,mapper的扫描)完成这一步后,通过mapper接口就可以操作基本数据库(mapper对应的bean在Spring容器启动后就实例化)(2) service层...

2018-08-30 19:53:04 265

原创 Eclipse配置web工程默认的编译输出路径

1:创建一个txt文件,并改名为:“org.eclipse.wst.web.prefs” 2:打开text文件,复制以下代码:3:将文件后缀名”.txt”去掉,使文件为“org.eclipse.wst.web.prefs” 4:将文件移动到你所配置的工作区间:%workspace%\.metadata\.plugins\org.eclipse.core.runtime\.se...

2018-08-29 16:27:27 1131

原创 解决springmvc注解开发报java.lang.IllegalArgumentException

Spring mvc开发中遇到:使用注解映射器,注解适配器,以及注解Controller过程中,进行服务器访问时遇到错误:java.lang.IllegalArgumentException at org.springframework.asm.ClassReader.<init>(Unknown Source) at org.springframework.asm.Class...

2018-08-29 10:22:40 2312

原创 关于Spring中 @PostConstruct 没有生效的问题

近期刚刚学习Spring, 实验是在java开发环境中引入spring jar等方式进行的。在学习bean 生命周期的过程, bean的生命周期步骤中有一个初始化相关的:其中指定了两种初始化方式:1: xml中<bean>标签中配置 init-method, 并在对应的bean中实现该初始化方法2: 通过在java bean上给初始化方法添加@PostConstruct...

2018-08-01 15:55:13 26877 4

原创 eventbus使用与源码分析

 1. 依赖compile 'org.greenrobot:eventbus:3.0.0' 2.EventBus的三要素 :(1) Event:事件,可以是任意类型的对象。(2) Subscriber:事件订阅者,在EventBus3.0之前消息处理的方法只能限定于onEvent、onEventMainThread、onEventBackgroundThread和onE...

2018-07-11 14:55:55 165

原创 Android butterknife源码分析流程

本文以一个小案例的分析过程,对butterknife的整个流程做了一个相对细致的解说:其中包含:(1)如何通过编译时注解处理器生成中间文件;(2)运行时资源的绑定过程;其中关于R资源文件的处理  scanForRClasses(env); 这部分原理我并未理解,有知道的朋友不妨告知,不甚感激!第一步:如何根据源文件以及所加的注解生成中间文件: 第二步: 运行时如何根据中间文件实现资源的绑定:总结:...

2018-07-09 11:04:28 239

原创 注解的使用介绍以及APT使用介绍

1. 概念(什么叫注解Annatation)? 2. Java中的常见注解(1) @Override  @Target(ElementType.METHOD)用于重写父类方法,或者实现接口对应的方法(2) @ Deprecated  @Target(value={CONSTRUCTOR, FIELD, LOCAL_VARIABLE, METHOD, PACKAGE,PARAMETER, TYPE}...

2018-07-05 16:53:50 2404 1

原创 RecyclerView详解5之数据更新机制(remove)

2018-07-02 09:38:43 477

原创 RecyclerView详解4之缓存机制

2018-07-02 09:36:19 443

原创 RecyclerView详解3之滑动流程

滑动流程涉及到到View的事件分发机制, 建议先看下事件分发机制:了解dispatchTouchEvent,  onInterceptTouchEvent, onTouchEvent, onTouch, onClickMotionEvent.ACTION_DOWN, MotionEvent.ACTION_MOVE, MotionEvent.ACTION_UP 等...

2018-07-02 09:34:22 458

原创 RecyclerView详解2之首次测量布局绘制流程

根据View的绘制流程:measure --> layout --> draw 进行分析:

2018-07-02 09:25:33 379

原创 RecyclerView详解1之基本使用

RecyclerView的使用上主要涉及:1.build.gradle中添加依赖  implementation 'com.android.support:recyclerview-v7:26+'2. xml布局文件中使用RecyclerView控件<android.support.v7.widget.RecyclerView android:layout_width="match_...

2018-07-02 09:23:10 341

原创 volley源码解析

最近习惯用图...

2018-05-07 14:34:40 101

原创 AsyncTask的流程分析

不说话,不打字,上图一目了然。。。

2018-05-05 17:42:32 150

原创 setContentView过程

用图说明一切。。。

2018-05-05 15:34:12 294

原创 Handler,Loop,Thread,MessageQueue,Message关系讲解

还是用图说明,模拟子线程中handler创建以及消息处理流程。 顺便提了下 ThreadLocal 的set() get()机制。主线程的Looper.prepare() , Looper.loop()  已经在framework做了,所以主线程在使用上非常轻松。...

2018-05-05 11:10:23 263

mat工具,可以分析hprof文件

性能分析工具mat,有效帮助开发者分析内存泄漏,内存抖动等问题

2019-02-27

android repo文件

repo用来下载android源代码作用,使用的是国内的清华源

2018-09-10

source insight 插件

支持在source insight中并行显示多个已打开文件,非常方便。

2016-10-15

wifi_p2p分析

android wifi p2p的基本协议概念以及流程分析。

2016-10-13

C语言练习文档

C语言的编程题

2016-04-17

awt编写的简易文本编辑器(可执行jar文件)

支持文本文件打开、保存、编辑、文字颜色、字体大小设置等功能

2015-01-08

Android开发教程(完全免费版)

本教程对于大多数初学android,需要入门指导的新人来说都是非常合适的。

2014-12-15

CSS免费初级教程

css初级教程,对于很多刚刚写html,并想把页面写的漂亮点的童鞋比较适合

2014-11-27

Java开发利器Myeclipse全面详解目录版

Java开发利器Myeclipse全面详解目录版:java IDE Myeclipse 的详细描述

2014-11-14

java常用命令及常用选项

java常用命令及常用选项:包含了对java文件的一般的命令行操作

2014-11-14

xmlPull源码

在android开发中经常会使用到xml文件,用来保存和传递数据,因此解析xml就是需要掌握的技能了,pull解析器是android自带的解析工具

2014-09-24

常用算法大全

想要学习算法的孩子有福了,这里介绍了众多基本的算法概念,思路,以及一些经典算法!!!

2014-09-10

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

TA关注的人

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