摘要: 代理模式定义:为其他对象提供一种代理以控制对这个对象的访问。代理对象起到中介作用,可去掉功能服务或添加额外的服务。常见的几种代理模式:远程代理(为不同地理的对象提供局域网代表对象)虚拟代理(根据需要将资源消耗很大的对象进行延迟,真正需要的时候进行创建)保护代理(权限控制)智能引用代理(火车票代售处)... 阅读全文
posted @ 2015-06-12 16:51 丶小八戒 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 策略模式定义:将可变的部分从程序中抽象分离成算法接口,在该接口下分别封装一系列算法实现,并使它们可以相互替换,从而导致客户端程序独立于算法的改变。 策略模式区别于模板方法模式: - 策略模式强调整体算法,即将整个算法交由用户实现。(采用组合方式) - 模板方法模式强调部分算法,即整体算法不变情... 阅读全文
posted @ 2015-06-11 17:17 丶小八戒 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 适配器分类 1. 组合 采用组合方式的适配器成为**对象适配器**。 特点:把“被适配者”作为一个对象组合到适配器类中,以修改目标接口包装被适配者。 2. 继承 采用继承方式的成为**类适配器**。 特点:通过多重继承不兼容接口,实现对目标接口的匹配,单一的为某个类而实现适配。 作... 阅读全文
posted @ 2015-06-10 14:53 丶小八戒 阅读(317) 评论(0) 推荐(0) 编辑
摘要: 模板方法的实现要素:抽象基类和具体子类。抽象基类:(1)基本方法:共有的方法,用private修饰 (2)抽象方法:只知道原则,不知道具体实现,要延迟到子类中实现,用protected abstract修饰 (3)可选的钩子:具体的子类可以自行决定是否挂钩以及如何挂钩,从而影响算法... 阅读全文
posted @ 2015-06-10 10:00 丶小八戒 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 单例模式两种常用类型:饿汉模式和懒汉模式。饿汉模式:在加载类的时候就创建了对象实例。具体代码如下:public class Singleton { // 1.将构造方法私有化,不允许外部直接创建对象 private Singleton() { } // 2.创建类的唯一实例,使用private... 阅读全文
posted @ 2015-06-09 21:29 丶小八戒 阅读(128) 评论(0) 推荐(0) 编辑
摘要: Error和Exception的异同点:(1)Error类和Exception类都继承超类Java.lang.Throwable(2)Error:一般指与虚拟机相关的问题,如系统崩溃,内存溢出等。对于这类错误,仅靠程序本身无法恢复和预防,遇到这样的错误,建议让程序终止。 Exception:一般... 阅读全文
posted @ 2015-04-27 09:30 丶小八戒 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 抽象类:(1)abstract关键字只能修饰类和方法,不能修饰字段。(2)抽象类不能被实例化(通俗点讲,不能被new),只能被继承。(3)抽象类可以包含属性,方法,构造方法,初始化块,内部类,枚举类,和普通类一样,普通方法一定要实现,变量可以初始化或不初始化,但是不能初始化后再在抽象类中重新赋值或操... 阅读全文
posted @ 2015-04-24 23:33 丶小八戒 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 简单介绍:1.String类:String的值是不可变的,导致每次对String的操作都会生成新的String对象,不仅效率低下,而且浪费内存空间。2.StringBuffer:StringBuffer的值是可变的,任何对它指向的字符串的操作都不会产生新的对象。3.StringBuilder:和St... 阅读全文
posted @ 2015-04-23 11:46 丶小八戒 阅读(140) 评论(0) 推荐(0) 编辑
摘要: Java基本数据类型共有八种,大致可以分为三类:第一类(字符类型):char第二类(布尔类型):boolean第三类(数值类型):整数类型:byte,short,int,long /浮点数类型:float,double各基本数据类型对比 基本类型包装类最小值最大值字节数二进制位数bytej... 阅读全文
posted @ 2015-04-23 11:27 丶小八戒 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 情景描述如下:假设我们有一个BookService类,该类简单实现了借书和还书两个功能,但是BookService需要调用BookManager接口与数据库交互。现在我们有一个尚未实现的接口BookManager(该借口主要用于数据库操作),假设现在我们没有数据库环境,那么我们就可以通过EasyMo... 阅读全文
posted @ 2015-04-23 10:46 丶小八戒 阅读(877) 评论(0) 推荐(0) 编辑