上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 22 下一页
摘要: 在代理模式(Proxy Pattern)中,一个类代表另一个类的功能。这种类型的设计模式属于结构型模式。 意图:为其他对象提供一种代理以控制对这个对象的访问。 主要解决:在直接访问对象时带来的问题,比如说:要访问的对象在远程的机器上。在面向对象系统中,有些对象由于某些原因(比如对象创建开销很大,或者 阅读全文
posted @ 2018-02-20 15:52 大象踢足球 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。 这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口功能。举个真实的例子,读卡器是作为内存卡和笔记本之间的适配器。您将内存卡插入读卡器,再将读卡器插入 阅读全文
posted @ 2018-02-20 15:44 大象踢足球 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知它的依赖对象。 意图:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 主要解决:一个对象状态改变给其他对象通知的问题,而且要 阅读全文
posted @ 2018-02-20 15:32 大象踢足球 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象。 意图:将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。 主要解决:主要解决在软件系统中,有时候面临着"一个复杂对象"的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化 阅读全文
posted @ 2018-02-20 15:07 大象踢足球 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。 意图:定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。 主要解决:主要解决接口选择的问题。 何时使用:我们明确地计划不同条件下创建不同实例时。 如 阅读全文
posted @ 2018-02-20 13:00 大象踢足球 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。 注意: 单例类只能有一个实例。 单例类必须自己创建自己的 阅读全文
posted @ 2018-02-20 11:31 大象踢足球 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 简述同步容器与并发容器 在Java并发编程中,经常听到同步容器、并发容器之说,那什么是同步容器与并发容器呢?同步容器可以简单地理解为通过synchronized来实现同步的容器,比如Vector、Hashtable以及SynchronizedList等容器,如果有多个线程调用同步容器的方法,它们将会 阅读全文
posted @ 2018-02-16 14:45 大象踢足球 阅读(296) 评论(0) 推荐(0) 编辑
摘要: 在JDK的并发包里提供了几个非常有用的并发工具类。CountDownLatch、CyclicBarrier和Semaphore工具类提供了一种并发流程控制的手段,Exchanger工具类则提供了在线程间交换数据的一种手段。本章会配合一些应用场景来介绍如何使用这些工具类。 CountDownLatch 阅读全文
posted @ 2018-02-15 17:32 大象踢足球 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 原子类 Java从JDK 1.5开始提供了java.util.concurrent.atomic包(以下简称Atomic包),这个包中 的原子操作类提供了一种用法简单、性能高效、线程安全地更新一个变量的方式。 因为变量的类型有很多种,所以在Atomic包里一共提供了13个类,属于4种类型的原子更 新 阅读全文
posted @ 2018-02-15 14:57 大象踢足球 阅读(347) 评论(0) 推荐(0) 编辑
摘要: 一.synchronized的缺陷 synchronized是java中的一个关键字,也就是说是Java语言内置的特性。那么为什么会出现Lock呢? 如果一个代码块被synchronized修饰了,当一个线程获取了对应的锁,并执行该代码块时,其他线程便只能一直等待,等待获取锁的线程释放锁,而这里获取 阅读全文
posted @ 2018-02-13 14:12 大象踢足球 阅读(1224) 评论(0) 推荐(1) 编辑
上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 22 下一页