单例有好几种
(1)直接静态字段,类加载的时候就实例化
(2)延迟加载,如果需要实例字段,静态属性,判断 null 就会线程不安全
解决上面问题,就用双检锁技术
双检锁,其他比如使用静态只读字段,内部类静态只读
简单工厂
1个具体工厂,1个抽象产品,n个具体产品
工厂方法
1个抽象工厂,n个具体工厂,1个抽象产品,n个具体产品
建造者
同样的建造过程拥有不同的内部实现
1个抽象建造者,n个具体建造者,1个指导者,1个产品
原型
memberwiseclone 浅拷贝,实现 Icloneable接口深拷贝
网友评论