我是靠谱客的博主 野性眼睛,这篇文章主要介绍Java设计模式之单例模式,现在分享给大家,希望可以做个参考。

设计模式之单例模式

介绍几种常见的单例模式

1.饿汉式单例模式

/**
 * @author ppeng
 * @date 2020/9/5 21:32
 * @description
 * 饿汉式单例模式
 */
public class Singleton1 {

    private static final Singleton1 instance = new Singleton1();

    private Singleton1(){}

    public Singleton1 getInstance(){
        return instance;
    }

}

2.懒汉式单例模式

/**
 * @author ppeng
 * @date 2020/9/5 21:35
 * @description 懒汉式单例模式(双重检索)确保对象是单例
 */
public class Singleton2 {

    private static Singleton2 instance = null;

    private Singleton2(){}

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

3.静态内部类(推荐)

/**
 * @author ppeng
 * @date 2020/9/5 21:47
 * @description  静态内部类,实例化外部类,JVM保证了类的单例
 */
public class Singleton3 {

    private Singleton3 (){}

    private static class Singleton3Hold{
        private static final Singleton3 instance = new Singleton3();
    }

    public static Singleton3 getInstance(){
        return Singleton3Hold.instance;
    }

}

4.枚举单例模式

/**
 * @author ppeng
 * @date 2020/9/5 15:47
 * @description 枚举单例模式
 */
public enum  EnumInstance {

    INSTANCE;

    public static EnumInstance getInstance(){
        return INSTANCE;
    }

}

最后

以上就是野性眼睛最近收集整理的关于Java设计模式之单例模式的全部内容,更多相关Java设计模式之单例模式内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(149)

评论列表共有 0 条评论

立即
投稿
返回
顶部