码迷,mamicode.com
首页 > 其他好文 > 详细

单例模式

时间:2020-07-14 20:08:22      阅读:62      评论:0      收藏:0      [点我收藏+]

标签:return   hung   私有   public   ==   有一个   get   stat   yun   

顾名思义,单例模式就是要求只有一个实体对象。

单例模式分为懒汉式和饿汉式

饿汉式:一开始就创建对象,线程安全,但是如果用不到这个对象,会造成浪费

懒汉式:要的时候才创建,不会造成浪费,但是会有线程安全的问题.

饿汉式和懒汉式都是私有化构造函数,不让外面能够直接new 对象.

饿汉式

private static Hungry instance = new Hungry();

    private Hungry(){}


    public Hungry getInstance(){
        return instance;
    }

 

懒汉不安全式

public class LazyUnSafe {

    private LazyUnSafe instance;

    public LazyUnSafe getInstance(){
        if(instance == null){
            instance = new LazyUnSafe();
        }
        return instance;
    }
}

 

懒汉安全式

public class LazySafe {

    private LazySafe instance;

    private LazySafe(){}

    public LazySafe getInstance() {
        if(instance == null){
            synchronized (LazySafe.class){
                if(instance == null){
                    instance = new LazySafe();
                }
                return instance;
            }
        }
        return instance;
    }
}

 

单例模式

标签:return   hung   私有   public   ==   有一个   get   stat   yun   

原文地址:https://www.cnblogs.com/lzh66/p/13301236.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!