单例模式的三种常用实现

来源:互联网 发布:成都 大数据 售前 编辑:程序博客网 时间:2024/06/05 11:28

如题:看代码,太简单,不解释,练手。

/* * 静态内部类实现单例模式 * */public class AbstractClassImplementsSingleTon {private AbstractClassImplementsSingleTon(){}    private static class InnerClass {        private static AbstractClassImplementsSingleTon instance = new AbstractClassImplementsSingleTon();    }    public static  AbstractClassImplementsSingleTon getInstance(){        return InnerClass.instance;    }}/* * 饿汉式加载 * */class NotLazyLoad {    private static NotLazyLoad instance = new NotLazyLoad();    private NotLazyLoad(){}    public static NotLazyLoad getInstance(){        return instance;    }}/* * 加锁实现 * */class SynchronizedMethodImplementsSingleTon{    private SynchronizedMethodImplementsSingleTon(){}    private static SynchronizedMethodImplementsSingleTon instance = null;    public static SynchronizedMethodImplementsSingleTon getInstance(){        if(instance==null){            synchronized(instance){                if(instance==null){                    instance = new SynchronizedMethodImplementsSingleTon();                }            }        }        return instance;    }}
2 0
原创粉丝点击