
设计模式
文章平均质量分 91
wangyanlong0107
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【转】ACE中的Double Checked Locking 模式
意图无论什么时候当临界区中的代码仅仅需要加锁一次,同时当其获取锁的时候必须是线程安全的,可以用Double Checked Locking 模式来减少竞争和加锁载荷。 动机1、标准的单例。开发正确的有效的并发应用是困难的。程序员必须学习新的技术(并发控制和防止死锁的算法)和机制(如多线程和同步API)。此外,许多熟悉的设计模式(如单例和迭代子)在包含不使用任何并发上下文假设的顺序程序中...原创 2011-11-26 15:17:43 · 117 阅读 · 0 评论 -
【转】java动态代理
GOF的23种设计模式之一(结构型模式)。所谓静态代理, 就是程序运行前就已经存在的编译好的代理类。 相反,如果代理类程序运行前并不存在,需要在程序运行时动态生成(无需手工编写代理类源码),那就是今天要说的动态代理了。 如何生成的:根据Java的反射机制动态生成。 目标接口TargetInterface: Java代码 ...原创 2015-10-22 15:59:22 · 119 阅读 · 0 评论 -
【转】Java动态代理机制详解(JDK 和CGLIB,Javassist,ASM)
class文件简介及加载 Java编译器编译好Java文件之后,产生.class 文件在磁盘中。这种class文件是二进制文件,内容是只有JVM虚拟机能够识别的机器码。JVM虚拟机读取字节码文件,取出二进制数据,加载到内存中, 解析.class 文件内的信息,生成对应的 Class对象: class字节码文件是根据JVM虚拟机规范中规定的字节码...原创 2015-10-22 16:07:24 · 143 阅读 · 0 评论 -
【转】静态工厂模式static factory method(简单工厂模式 simple facotry)
一、静态工厂方法模式(简单工厂模式)为水果类声明了一个接口,表现在代码上: 1 public interface Fruit { 2 // 生长 3 void grow(); 4 // 收获 5 void harvest(); 6 // 种植 7 void p...原创 2015-10-23 09:21:17 · 207 阅读 · 0 评论 -
【转】工厂方法factory method和抽象工厂模式abstract factory
1. 概念 工厂方法:一抽象产品类派生出多个具体产品类;一抽象工厂类派生出多个具体工厂类;每个具体工厂类只能创建一个具体产品类的实例。 即定义一个创建对象的接口(即抽象工厂类),让其子类(具体工厂类)决定实例化哪一个类(具体产品类)。“一对一”的关系。 抽象工厂:多个抽象产品类,派生出多个具体产品类;一个抽象工厂类,派生出多个具体工厂类;每个具体工厂类可创建...原创 2015-10-23 09:47:07 · 210 阅读 · 0 评论 -
【转】Singleton和Double-Checked Locking设计模式—UML图及代码实现
Singleton和Double-Checked Locking设计模式,分别指的是单例模式和双重检查锁模式,它们都可以用于确保某个类只有一个对象实例化。 两个模式的区别在于:Singleton模式用在单线程应用程序中,而Double-Checked Locking模式用于多线程模式。 一、Singleton模式 UML图: 代码: packa...原创 2015-10-24 16:22:44 · 141 阅读 · 0 评论