美文网首页
单例模式的四种写法

单例模式的四种写法

作者: yangkg | 来源:发表于2017-12-13 12:17 被阅读79次

    //懒汉式

    public class Singleton{

        private volatile static Singleton singleton; //声明成volatile

        privare Singleton(){}

        public static Singleton getSingleton(){

            if(singleton == null ){

                synchronized(Singleton.class){

                    if(singleton == null){

                        singleton = new Singleton();

                    }

            }

        }

        return singleton;

        }

    }

    //饿汉式

    public class Singleton{

    private static final Singleton instance = new Singleton();

    private Singleton(){}

    public static Singleton getInstance(){

    return instance ;

    }

    }

    //静态内部类

    public class Singleton {

    private static class SingletonHolder {

    private static final Singleton INSTANCE = new Singleton();

    }

    private Singleton (){}

    public static final Singleton getInstance() {

    return SingletonHolder.INSTANCE;

    }

    }

    //枚举 Enum

    public enum EasySingleton{

    INSTANCE;

    }

    相关文章

      网友评论

          本文标题:单例模式的四种写法

          本文链接:https://www.haomeiwen.com/subject/cwyaixtx.html