设计模式之单例模式

单例模式的定义:

确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例

单例的使用场景:

1.要求生成唯一序列号的环境
2.创建一个对象需要消耗的资源过多
3.需要定义大量的静态常量和静态方法

单例模式分为懒汉式和饿汉式两种:

饿汉式单例:

/**
 * @Author: chuan.bai
 * @Description 饿汉式单例模式
 * @Date: Created on 08:59 2018/3/14
 * @Modified By:
 */
public class Singleton {

    public static final Singleton singleton = new Singleton();

    /**
     * 构造方法
     */
    private Singleton() {

    }

    public static Singleton getSingleton() {
        return singleton;
    }

    public void singletonMethon() {
        System.out.println("生成一个单例方法");
    }

    public static void main(String[] args) {
        Singleton singleton = Singleton.getSingleton();
        //创建对象a
        Singleton singletonA = Singleton.getSingleton();
        //创建对象b
        Singleton singletonB = Singleton.getSingleton();
        //比较对象地址值
        System.out.println(singletonA.equals(singletonB));

        singleton.singletonMethon();
    }
}

懒汉式单例

/**
 * @Author: chuan.bai
 * @Description 懒汉式单例
 * @Date: Created on 10:45 2018/3/14
 * @Modified By:
 */
public class SingletonB {

    private static SingletonB singletonB = null;

    private SingletonB(){

    }

    public synchronized static SingletonB getSingletonB(){
        if(singletonB==null){
            singletonB =new SingletonB();
        }
        return singletonB;
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容