美文网首页
Java设计模式-单例

Java设计模式-单例

作者: 雪涛公子 | 来源:发表于2017-11-30 10:23 被阅读0次

    1、基于volatile

    public class SafeDoubleCheckedLocking {
    
        private volatile static SafeDoubleCheckedLocking instance;
    
        public static SafeDoubleCheckedLocking getInstance() {
            if (instance == null) {
                synchronized (SafeDoubleCheckedLocking.class) {
                    if (instance == null) {
                        instance = new SafeDoubleCheckedLocking();
                    }
                }
            }
            return instance;
        }
    }
    

    2、基于类初始化

    public class InstanceFactory {
    
        private static class InstanceHolder {
            public static InstanceFactory instance = new InstanceFactory();
        }
    
        public static InstanceFactory getInstance() {
            return InstanceHolder.instance;
        }
    }
    

    相关文章

      网友评论

          本文标题:Java设计模式-单例

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