单例设计模式了解一下

文章内容输出来源:拉勾教育Java就业集训营;
 
一、概念 
单例模式,是一种常用的软件设计模式。保证一个类只有一个对象实例的设计理念。
 
二、分类 
单例设计模式主要分为:饿汉式 和 懒汉式,懒汉式需要对多线程进行同步处理。
 
三、类图

 

 

四、代码实现
1、饿汉式
  Singleton.java
public class Singleton {

    // 将自身实例化对象设置为一个属性,并用static、final修饰
    private static final Singleton instance = new Singleton();
    
    // 构造方法私有化
    private Singleton() {}
    
    // 静态方法返回该实例
    public static Singleton getInstance() {
        return instance;
    }
}

2、懒汉式

public class Singleton {

    // 1.声明本类类型的引用指向本类类型的对象并使用private static关键字修饰
    private static Singleton sin = null;

    // 2.私有化构造方法,使用private关键字修饰
    private Singleton() {}

    // 3.提供公有的get方法负责将上述对象返回出去,使用public static关键字修饰
    public static  Singleton getInstance() {
        if (null == sin) {
            synchronized (Singleton.class) {  //保证线程安全
                if (null == sin) {
                    sin = new Singleton();
                }
            }
        }
        return sin;
    }
}

 

posted @ 2020-09-27 23:40  格子衫111  阅读(108)  评论(0)    收藏  举报