1单例模式
单列模式分为饿汉式与懒汉式
饿汉式式程序一启动就加载,静态方法中初始,但是如果创建时间过长,会拉长启动时间
懒汉式是用的时候才初始化,但是如果是并发调用,那就不是单例了。在方法面前加同步关键词会严重的浪费性能
最优的方案:是创建一个内部类。调用静态初始化方法的时候,初始化内部类
public class SingleDto {
public static SingleDto newInstances(){
return LazyClass.singleDto;
}
public static class LazyClass{
public static SingleDto singleDto = new SingleDto();
}
}
2原型模式
存在一个对象,每次新建对象都是拷贝这个对象的属性值
分为浅复制与深复制
区别在于对象里面的引用类型对象属性是否是同一个