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

2019-09-22 00:00:00 java 模式 设计

单例模式:保证一个类只用一个相同的实例,并且提供一个访问该实例的全局访问方法
如任务管理器、回收站
饿汉式:
把构造器私有,则别人无法访问
同时提供一个私有的创建好的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;
     }

 */

}

    原文作者:wx5d21d5e6e5ab1
    原文地址: https://blog.51cto.com/14437184/2439988
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。

相关文章