美文网首页
手写一个单例(面试题目)

手写一个单例(面试题目)

作者: 发条与小小 | 来源:发表于2019-03-07 11:13 被阅读0次

    Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。 一般Singleton模式通常有几种形式:

    第一种模式:定义一个类,它的构造函数为private的,它有一个static的private的该类变量,在类初始化时实例话,通过一个public的getInstance方法获取对它的引用,继而调用其中的方法。只要初始化就创建了一个静态的实例(饱汉)

    public class Singleton{
    
        //注意这是private 只供内部调用
        private Singleton(){}
        //在自己内部定义自己一个实例
        private static final Singleton singleton=new Singleton();
        //公有方法访问得到实例  Singleton singleton=Singleton.getInstance();即可的得到实例
        public static Singleton getInstance(){
            return singleton;
        }
    
    }
    

    第二种模式:

    public class Singleton{
    
        private static Singleton singleton = null;
        //使用时才生成实例
        public static synchronized Singleton getInstance() {
            if (null == singleton) {
                singleton = new Singleton();
            }
            return singleton;
        }
    }
    

    第三种模式:枚举

    public enum Singleton{
        ONE;
    }
    

    相关文章

      网友评论

          本文标题:手写一个单例(面试题目)

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