摘要: 享元模式 运用共享技术有效的支持大量细粒度的对象 使用场景 1、系统中有大量对象。 2、这些对象消耗大量内存。 3、这些对象的状态大部分可以外部化。 4、这些对象可以按照内蕴状态分为很多组,当把外蕴对象从对象中剔除出来时,每一组对象都可以用一个对象来代替。 5、系统不依赖于这些对象身份,这些对象是不 阅读全文
posted @ 2018-08-21 17:31 不二尘 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 迭代器模式 提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露对象的内部表示。 迭代器模式的角色构成 (1)迭代器角色(Iterator):定义遍历元素所需要的方法,一般来说会有这么三个方法:取得下一个元素的方法next(),判断是否遍历结束的方法hasNext()),移出当前对象的方法rem 阅读全文
posted @ 2018-08-20 16:49 不二尘 阅读(286) 评论(0) 推荐(0) 编辑
摘要: 策略模式 定义了一系列的算法,分别封装起来,让他们之间可以互相替换。此模式让算法的改变不会影响到使用算法的客户。 在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 context 对象的执行算法。 这个模式涉及到三个角色: 环境(Cont 阅读全文
posted @ 2018-08-20 11:52 不二尘 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 序言 最近在看单例模式的时候牵扯到了同步,锁等概念,因此在网上查阅了两者的区别等等,在此,记录下博文以便于日后复习。参考博文:传送带 synchronized与Lock的区别 阅读全文
posted @ 2018-08-17 16:04 不二尘 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 原文链接:http://www.cnblogs.com/dolphin0520/p/3920373.html 前言 volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volati 阅读全文
posted @ 2018-08-17 15:28 不二尘 阅读(279) 评论(0) 推荐(0) 编辑
摘要: 为了理解建造者模式最近从网上看了很多资料,才在心中有个大概的概念,不过最近比较浮躁 看东西容易走神(大概因为天太热吧--借口"_")强行镇定了一波心情, 准备记录下建造者模式的笔记。(ps:设计模式的学习 挺枯燥的 不容易理解) 建造者模式 将一个复杂对象的创建与它的表示分离,使得同样的构建过程可以 阅读全文
posted @ 2018-08-15 15:28 不二尘 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 外观模式 为子系统的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 结构图 下面代码加深理解 子系统类 外观类 客户端调用 阅读全文
posted @ 2018-08-10 15:49 不二尘 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 原文链接:http://www.cnblogs.com/chengxiao/p/6059914.html 一、什么是哈希表 在讨论哈希表之前,我们先大概了解下其他数据结构在新增,查找等基础操作执行性能 数组:采用一段连续的存储单元来存储数据。对于指定下标的查找,时间复杂度为O(1);通过给定值进行查 阅读全文
posted @ 2018-08-06 17:44 不二尘 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 作用 1,一旦变量被transient修饰,变量将不再是对象持久化的一部分,该变量内容在序列化后无法获得访问。 2,transient关键字只能修饰变量,而不能修饰方法和类。注意,本地变量是不能被transient关键字修饰的。变量如果是用户自定义类变量,则该类需要实现Serializable接口。 阅读全文
posted @ 2018-08-03 17:13 不二尘 阅读(7876) 评论(0) 推荐(1) 编辑
摘要: 装饰模式 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。 通过下列代码加深下理解 装饰模式的特点 (1) 装饰对象和真实对象有相同的接口。这样客户端对象就能以和真实对象相同的方式和装 阅读全文
posted @ 2018-07-31 14:53 不二尘 阅读(192) 评论(0) 推荐(0) 编辑