美文网首页
单例模式

单例模式

作者: Hao_38b9 | 来源:发表于2020-05-26 20:05 被阅读0次

    单例模式

    DCL懒汉式

    public class LazyMode {
        private static volatile LazyMode LAZYMODE;
        private LazyMode(){
        }
        public static LazyMode getInstance(){
            if(LAZYMODE==null){
                synchronized (LazyMode.class){
                    if(LAZYMODE==null){
                        LAZYMODE = new LazyMode();
                    }
                }
            }
            return LAZYMODE;
        }
        public static void main(String[] args) {
            LazyMode.getInstance();
        }
    }
    
    

    以上这种模式并不能防止通过反射来创建对象。

    如何解决呢?可以采用枚举

    public enum SingleEnum {
        SINGLE_ENUM;
        public static SingleEnum getInstance(){
            return SINGLE_ENUM;
        }
    
        public static void main(String[] args) {
            SingleEnum.getInstance();
        }
    }
    

    相关文章

      网友评论

          本文标题:单例模式

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