前言
上篇文章介绍了简单工厂模式、工厂方法模式以及抽象工厂模式,接下来就继续学习原型模式与单例模式:
模式1、原型模式:
原型模式之前在Java设计模式的板块也讲过,这里再拿出来讲一下:原型模式属于创建型模式,用原型的实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。通俗的意思:复制一个一模一样的对象出来。目的是为了保护最原始的那一份存档,隐藏复制过程。
具体的实现过程可以看我之前总结的博客:
http://blog.csdn.net/hpc19950723/article/details/53423844
模式2、单例模式:
单例模式相信很多开发者在日常开发中都会去使用到,具体的实现可以看之前总结的博客:
http://blog.csdn.net/hpc19950723/article/details/53214506
因为单例模式比较重要,这里也再次做一下总结加深自己的印象:
饿汉模式:
缺点: 第一步加载class文件就已经实例化了,没有做到想用时才实例化。
懒汉模式:
缺点:每次调用getInstance时 都需要进行同步开销
DCL单例模式:
class文件中方法的字节码流就是由JVM的指令序列构成的,Jdk5 以后支持处理器乱序执行,汇编指令导致指向地址和实例化堆区、顺序不同。
枚举单例模式:
1 枚举中的属性必须放在最前面
2. 枚举中可以和java类一样定义方法
3. 枚举中的构造方法必须是私有的