美文网首页
单例模式

单例模式

作者: Android一行代码 | 来源:发表于2020-09-02 23:20 被阅读0次

    懒汉式(线程不安全):比较少用;

    饿汉式和双检锁:安全

    静态内部类 :实现 lazy loading 效果

    枚举方式:反序列化创建对象

    1、懒汉式

    public class Pater {
        private  static  Pater instanse;
        public Pater() {}
        public static  Pater  getInstanse(){
            if(instanse==null){
                instanse=new Pater();
            }
            return instanse;
        }
    }
    

    2.饿汉式

    public class Pater {
        private  static  Pater instanse=new Pater();
        public Pater() {}
        public static  Pater  getInstanse(){
            return instanse;
        }
    }
    

    3、双检锁

    public class Pater {
        private  static  Pater instanse;
        public Pater() {}
        public static  Pater  getInstanse(){
            if(instanse==null){
                synchronized (Pater.class){
                    if(instanse==null){
                        instanse=new Pater();
                    }
                }
            }
            return instanse;
        }
    }
    

    4、静态内部类

    public class Pater {
       private  static class  Singlepater{
           private static final  Pater INSTANSE=new Pater();
       }
        public Pater() {}
        public static final Pater getinstanse(){
           return  Singlepater .INSTANSE;
        }
    }
    

    5.枚举类型

        public enum Pater1{
           INSTANSE;
        }
    

    相关文章

      网友评论

          本文标题:单例模式

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