java设计模式--单例模式

来源:互联网 发布:java布尔类型的常量 编辑:程序博客网 时间:2024/06/06 13:12

单例模式的特点:

1.  单例类只能有一个实例

2.  必须自己创建自己的唯一实例

3.  必须给其他对象提供这一实例

4.  构造函数私有,防止外部对其实例化


几种实现单例模式的方式:


1 饿汉模式

public class EagerSingleton {    private static EagerSingleton instance = new EagerSingleton();    private EagerSingleton(){    }    public static EagerSingleton getInstance(){        return instance;    }}


2 懒汉模式

package design.singleton;public class LazySingleton {    private static LazySingleton instance;    private LazySingleton(){    }    public static LazySingleton getInstance(){        if (instance == null){            synchronized (LazySingleton.class){                if (instance == null){                    instance = new LazySingleton();                }            }        }        return instance;    }}

3  holder

package design.singleton;public class HoldSingleton {    private HoldSingleton(){    }    private static class SingletonHolder{        private static HoldSingleton instance = new HoldSingleton();    }    public static HoldSingleton getInstance(){        return SingletonHolder.instance;    }}



原创粉丝点击