摘要: 桥梁模式:其实就是把抽象和实现解耦,解决了继承的缺点,实现可以不用受抽象的约束,不用再绑定在一个固定的抽象层次上。 公司产品桥梁模式案例 如果使用普通的继承,那动态具有好多种公司,房地产、服装公司、餐饮公司,然而房地产公司又可以分为 公寓房公司、别墅房公司等等...这样的话,子类就太多啦,扩展也不是 阅读全文
posted @ 2018-07-17 17:10 张秀杰 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 原型模式:用原型实例指定创建对象的类型,并通过拷贝这些原型创建对象 Java 语言中clone方法就是原型实例的案例 clone() 默认是浅拷贝 ,不会调用构造函数。直接通过内存的二进制流进行拷贝. clone无法深拷贝final 变量 , 两者无法共存 具体案例 (把) 通过自定义二进制流来实现 阅读全文
posted @ 2018-05-30 14:37 张秀杰 阅读(153) 评论(0) 推荐(0) 编辑
摘要: wait()表示把线程挂起,挂起的时候会自动释放锁。 notify() 随机的选择一个在指定对象上挂起的线程激活。 notifyAll() 激活指定对象上挂起的所有线程 条件队列:一组等待线程集合,能够通过某种方式来等待对应的条件为真。条件队列中的元素是一个正在等待相关条件的线程。 通过条件队列构建 阅读全文
posted @ 2018-03-21 16:10 张秀杰 阅读(991) 评论(0) 推荐(1) 编辑
摘要: 最大子数组:求连续数组的最大和问题,也就是说数组的那个连续子数组的和最大.(个人理解) 主要思想通过分治法,最大子数组只能有三种情况:中间元素的左边取得;中间元素的右边取得;跨越中间元素取得. 可以通过mind=(low+high)/2分解,把元问题分解成更小的子问题。 代码如下 ArrarType 阅读全文
posted @ 2018-03-20 21:29 张秀杰 阅读(779) 评论(0) 推荐(0) 编辑
摘要: 任务处理类 阅读全文
posted @ 2018-01-31 17:54 张秀杰 阅读(8427) 评论(0) 推荐(0) 编辑
摘要: 枚举类型 :枚举常量的一组集合,包含者一些操作方法,枚举类是不可变的,通常用作单实例操作。 包含的方法 自带静态方法 values() 返回枚举类中枚举常量数组 (按枚举常量声明的顺序返回) toString()方法 返回枚举常量名称。 静态方法valueOf(String name) 返回指定名称 阅读全文
posted @ 2018-01-24 19:14 张秀杰 阅读(461) 评论(0) 推荐(0) 编辑
摘要: <T extends Comparable<T>>表明T实现了Comaprable<T>接口,此条件强制约束,泛型对象必须直接实现Comparable<T>(所谓直接就是指不能通过继承或其他方式) <T extends Comparable<? super T>> 表明T的任意一个父类实现了Comp 阅读全文
posted @ 2018-01-20 09:40 张秀杰 阅读(938) 评论(0) 推荐(0) 编辑
摘要: 基础概念 类型参数: List<E>中的E就表示类型参数。 泛型:List<E> 具有一个或多个类型参数的类或接口就是泛型。 原生态类型:List 即不带任何实际类型参数的泛型名称,和java中没有引入泛型时完全一样。 无限制通配符类型: List<?> 类似于原生态类型,不过通配符类型是安全的,原 阅读全文
posted @ 2018-01-18 10:28 张秀杰 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 参考博主http://blog.csdn.net/xuweilinjijis/article/details/9037635 先看List接口subList方法的javadoc 再接着看一下 SubList类的构造器,JDK源码如下,其实 SubList就是ArrayList中的一个内部类(非静态的 阅读全文
posted @ 2018-01-17 10:44 张秀杰 阅读(3882) 评论(0) 推荐(0) 编辑
摘要: 通俗的讲装饰器就是在不改变对象结构的前提下,扩充对象的功能。 下面以effective java中例题 问题 我想扩充Hash<set>功能,使得能够统计添加过元素的个数? 或许你可能会自定义一个类通过继承扩展,从而实现计数功能,代码如下: 上面代码直接继承hashSet类,然后覆盖 add和add 阅读全文
posted @ 2018-01-15 22:23 张秀杰 阅读(162) 评论(0) 推荐(0) 编辑