我是靠谱客的博主 野性眼睛,最近开发中收集的这篇文章主要介绍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设计模式之单例模式所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部