
设计模式
银灯玉箫
这个作者很懒,什么都没留下…
展开
-
第三章 创建型模式
3个问题:创建什么(what),由谁创建(Who),何时创建(When)工厂模式抽象工厂模式建造者模式原型模式单例模式原创 2017-11-29 21:53:31 · 216 阅读 · 0 评论 -
Java 多线程设计模式之Two-phase Termination
Two-phase Termination 模式通过将停止线程这个动作分解为准备阶段和执行阶段这两个阶段,提供了一种通用的用于优雅地停止线程的方法。所谓优雅是指可以等要停止的线程在其处理完待处理的任务后停止,而并不是强行停止。准备阶段该阶段的主要动作是“通知” 目标线程(欲停止的线程)准备进行停止。这一步会设置一个标志变量用于指示目标线程可以准备停止了。 能够对Thread.interrupt 做原创 2017-12-07 21:04:49 · 261 阅读 · 0 评论 -
Java 多线程设计模式之Guarded Suspension
设计模式UML图原创 2017-12-07 20:05:06 · 283 阅读 · 0 评论 -
Java 多线程编程设计模式之Immutable Object 模式
Immutable Object 模式适用于: 1. 被建模对象的状态变化不频繁 2. 同时对一组相关的数据进行写操作,因此需要保证原子性,将一组相关的数据“组合”成一个不可变的对象,则对这一组数据的操作可以无需加显式锁也能保证原子性。 3. 使用某个对象作为安全的HashMap 的Key. 由于不可变对象的状态不变,因此其Hash Code 也不变。这使得不可变对象(如 String)非常原创 2017-12-07 15:51:48 · 333 阅读 · 0 评论 -
Java 多线程编程之synchronized 和 volatile关键字
synchronized 关键字 1. 实现操作的原子性。通过该关键字所包括的临界区(Critical Section) 的排他性保证在任何一个时刻只有一个线程能够执行临界区中的代码。 2. 保证内存的可行性。(Memory Visibility) CPU 在执行代码时,为减少变量的访问时间的消耗,可能将代码中访问的变量的值缓存到该CPU的缓存区(L1 Cache, L2 Cache), 因此原创 2017-12-07 14:39:13 · 144 阅读 · 0 评论 -
第二章 面向对象设计原则实训
7 种常用的面向对象设计原则 设计原则名称 定义 使用频率 单一设计原则(Single Responsibility Principle, SRP) 一个类只负责一个功能领域中的相应职责 4 开闭原则 (Open-closed Principle, OCP) 软件实体应对扩展开放,面对修改封闭(关键是抽象化,并且从抽象化中导出具体化实现) 5 里氏代换原则(Li原创 2017-11-27 22:18:34 · 601 阅读 · 0 评论 -
Java 多线程设计模式Master-Slave
为了避免Slave 线程占用过多的资源,我们主要采取了两个措施。一个是,Master 类所创建的Slave 线程数量为JVM 所在主机的CPU 个数(通过Runtime.getRuntime().availableProcessor()获取); 另一个是Slave 线程的doRun() 方法每处理完10万条记录就会休眠80ms,这是为了避免其使得CPU 过于繁忙。Master-Slave 模式的应用转载 2017-12-08 21:39:59 · 1417 阅读 · 0 评论 -
第 5 章 行为型模式
职责链模式(Chain of Responsibility Pattern)为解除请求的发送者和接受者之间的耦合,而使多个对象有机会处理这个请求; 将这些对象连成一条链, 并沿着这条链传递该请求,直到有一个对象处理它。命令模式(Command Pattern) 对象行为模式。 BoardScreen 充当接收者角色,MenuItem 充当调用者角色,Command充当抽象命令角色。OpenCom原创 2017-11-30 14:44:31 · 202 阅读 · 0 评论 -
Java 多线程设计模式之Producer-Consumer
Producer-Consumer 模式通过在数据的生产者和消费者之间引入一个通道(Channel, 暂时可以将其简单地理解为一个队列)对二者进行解耦(Decouping):生产者将其生产的数据放入通道,消费者从相应通道中取出数据进行消费,生产者和消费者各自运行在各自的线程中,从而使双方处理速率互补影响。7.4.1 通道积压当消费者的处理能力低于生产者的处理能力时,随着时间的推移,通道中存储的“产品转载 2017-12-08 11:10:22 · 425 阅读 · 0 评论 -
第 4 章 结构型模式
适配器模式(Adapter Pattern)将一个借口转换成客户希望的另一个接口,从而使接口不兼容的那些类可以一起工作,其别名为包装器(Wrapper),可作为类结构模式和对象结构模式。桥接模式(Bridge Pattern)“将抽象化(abstraction 与实现化(Implementation) 解耦,使得两者可以独立地变化” 对象结构型模式。 组合模式(Composite Pattern原创 2017-11-29 23:02:58 · 245 阅读 · 0 评论 -
Java多线程设计模式之Promise 模式
Promise 模式是一种异步编程模式,但同时该模式也支持同步方式。转载 2017-12-08 09:29:13 · 695 阅读 · 1 评论