单例设计模式
单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法。
单例模式的特点:
- 将类的构造器的访问权限设置为private
- 类的外部只能调用该类的某个静态方法以返回类内部创建的对象
- 静态方法只能访问类中的静态成员变量,所以,指向类内部产生的该类对象的变量也必须定义成静态的。
单例模式的优点:
由于单例模式只生成一个实例,减少了系统性能开销,当一个对象的产生需要比较多的资源时,如读取配置、产生其他依赖对象时,则可 以通过在应用启动时直接产生一个单例对象,然后永久驻留内存的方式来解决。
懒汉式:(推荐使用)
当程序在需要的时候再进行实例化,双重检查机制解决线程同步问题
注意:
添加volatile关键字禁止指令重排序
饿汉式:
在类加载的时候,就已经进行实例化,无论之后用不用到。可避免线程同步问题。如果该类比较占内存,之后又没用到,就白白浪费了资源。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!