单例设计模式(懒汉式和饿汉式)

单例设计模式

       单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法。
 
单例模式的特点:

  • 将类的构造器的访问权限设置为private
  • 类的外部只能调用该类的某个静态方法以返回类内部创建的对象
  • 静态方法只能访问类中的静态成员变量,所以,指向类内部产生的该类对象的变量也必须定义成静态的。

单例模式的优点:
       由于单例模式只生成一个实例,减少了系统性能开销,当一个对象的产生需要比较多的资源时,如读取配置、产生其他依赖对象时,则可 以通过在应用启动时直接产生一个单例对象,然后永久驻留内存的方式来解决。
 
 

懒汉式:(推荐使用)

当程序在需要的时候再进行实例化,双重检查机制解决线程同步问题

注意:

添加volatile关键字禁止指令重排序

 

饿汉式:

在类加载的时候,就已经进行实例化,无论之后用不用到。可避免线程同步问题。如果该类比较占内存,之后又没用到,就白白浪费了资源。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年1月7日
下一篇 2021年1月7日

相关推荐