首页 > 编程语言 > 详细

关于java单例设计模式

时间:2019-02-28 20:13:00      阅读:130      评论:0      收藏:0      [点我收藏+]

关于java单例设计模式

什么是单例设计模式,顾名思义:单例设计模式就是确保一个类里只有一个实例的设计模式,这也是这个设计模式的优点,这个类里只会有一个实例。

它的步骤:
1>我们开发一个类,构造方法私有化,保证不能在程序中随意new对象
2>在类里定义一个静态变量,实例化一个该类的实例(外界在调方法时,只能得到一个实例,是一个单例的类)


两种形式:

1.饿汉式单例类
  public class Cat{
    //static属性保证了只持有一个Cat实例,每次调用静态方法,都返回同一个Cat实例的引用
    private static Cat cat = new Cat();
    //私有化构造方法
    private Cat(){
    } //提供静态的返回Cat实例的方法
    public static Cat getInstance(){
    return cat;
    }
  }

2.懒汉式单例(什么时候调用静态方法获取实例,什么时候在创建对象)

  public class Cat{
    // static属性:只存一份
    private static Cat cat;
    // 私有化构造方法
    private Cat() {
    }
    //提供静态的返回Cat实例的方法
    public static Cat getInstance() {
      if (cat == null) {
      synchronized (Cat.class) {
      if (cat == null) {
      cat = new Cat();
      }
    }
    }
    return cat;
    }
  }

注:懒汉式单例在多线程环境下不安全,要加同步锁synchronized,然后在同步代码块中加一层判断,双重判定锁j就可以啦。

关于java单例设计模式

原文:https://www.cnblogs.com/xingani-0202/p/10452784.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!