设计模式创建型--5种
单例----创建线程安全类
工厂----创建bean工厂
抽象工厂----创建bean工厂的工厂
原型----clone模式 ---用于数据流转中对象快速复制
建造者---创建bean类型多样组合-创建方式不变-依靠算法实现不同组合创建bean
单例
/**
* Created by huoyan403 on 2017/8/14.
*/
public class Singleton {
//防止被引用 赋值为null 目的实现延迟加载
private static Singleton singleton = null;
//私有化构造方法
private Singleton() {
}
//静态工程方法 创建实例
public static Singleton getSingleton(){
if(singleton == null){
//synchronized关键字锁住的是这个对象,这样的用法,在性能上会有所下降,因为每次调用getInstance(),
// 都要对对象上锁,事实上,只有在第一次创建对象的时候需要加锁,之后就不需要了
synchronized (singleton){
if(singleton == null) {
singleton = new Singleton();
}
}
}
return singleton;
}
//如果该对象被用于序列化 可以保证在序列化前后保持一致
public Object readResolve(){
return singleton;
}
}