码迷,mamicode.com
首页 > 编程语言 > 详细

java GOF23设计模式-饿汉式和懒汉式

时间:2019-09-22 01:16:34      阅读:157      评论:0      收藏:0      [点我收藏+]

标签:模式   任务管理器   返回   sign   饿汉式   对象   管理   相同   属性   

单例模式:保证一个类只用一个相同的实例,并且提供一个访问该实例的全局访问方法
如任务管理器、回收站
饿汉式:
把构造器私有,则别人无法访问
同时提供一个私有的创建好的static的该实例属性
提供一个开放的方法返回该实例

public class Design {
    private static Design d =new Design();  //类初始化时,立即加载这个对象,没有延迟加载的优势
    //即不使用对象会造成资源浪费

    private Design()
    {

    }
    public static Design getInstance()  //因为实在类加载器时创建的实例,此时线程绝对安全,所以不用加synchronized锁住保证一个对象
    {
        return d;
    }

    /*懒汉式:延迟调用,即调用时创建实例
     private static Design dd;
     private Design(){};
     public static synchronized Design getInstance()  //可能有多个线程调用,即可能null同时创建多个对象,所以得锁住
     {
        if(s==null)
        {
            s= new Design();
        }
        return s;
     }

 */

}

java GOF23设计模式-饿汉式和懒汉式

标签:模式   任务管理器   返回   sign   饿汉式   对象   管理   相同   属性   

原文地址:https://blog.51cto.com/14437184/2439988

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