设计模式1之Singleton单例模式

来源:互联网 发布:编程师一个月能赚多少 编辑:程序博客网 时间:2024/05/24 04:16
//懒汉式public class Singleton{    private static Singleton uniqueInstance=null;    private Singleton(){    }    public static synchronized Singleton getInstance(){        if(uniqueInstance==null){            uniqueInstance=new Singleton();        }        return uniqueInstance;    }}//懒汉式 volatilepublic class Singleton{    private volatile static Singleton instance=null;    private Singleton(){    }    public static Singleton getInstance(){        if(instance==null){            synchronized(Singleton.class){                if(instance==null){                    instance=new Singleton();                }            }        }        return instance;    }}//饿汉式public class Singleton{    private static Singleton uniqueInstance=new Singleton();    private Singleton(){    }    public static Singleton getInstance(){        return uniqueInstance;    }}//内部类public class Singleton{    public static class SingletonHolder{        private static Singleton instance = new Singleton();    }    private Singleton(){    }    public static Singleton getInstance(){        return SingletonHolder.instance;    }}//枚举public enum Singleton{    uniqueInstance;}