欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 养生 > 单例模式的几种实现方式

单例模式的几种实现方式

2025/6/28 13:22:02 来源:https://blog.csdn.net/2301_76613040/article/details/145163049  浏览:    关键词:单例模式的几种实现方式

单例模式

单例模式是一种常见的设计模式,而关于单例模式的实现又有以下几种实现方式:饿汉单例,懒汉单例,双重校验锁,静态内部类等实现

饿汉单例

该懒汉单例是线程安全的,但是存在资源浪费的情况,在程序启动时就会创建该类的实例。

/*** @author: dlwlrma* @data 2025年01月15日 16:34* @Description 单例模式之懒汉单例*/
public class Singleton {//私有静态成员变量,在使用时才会创建实例private static Singleton instance = new Singleton();//私有构造方法private Singleton() {}//唯一的公共访问点public static Singleton getInstance(){return instance;}
}

懒汉单例

/*** @author: dlwlrma* @data 2025年01月15日 16:40* @Description 懒汉单例*/
public class Singleton {//私有静态成员变量,初始化为nullprivate static Singleton instance = null;//私有构造器private Singleton() {}//获取唯一可用实例,先判断是否已经创建实例,如果没有创建,则创建实例public static Singleton getInstance() {if (instance == null) {instance = new Singleton();}return instance;}
}

双重校验锁(DLC)

/*** @author: dlwlrma* @data 2025年01月15日 16:50* @Description 双重校验锁*/
public class Singleton {private volatile static Singleton instance = null;private Singleton() {}public static Singleton getInstance() {if (instance == null) {synchronized (Singleton.class) {if (instance == null) {instance = new Singleton();}}}return instance;}
}

静态内部类

/*** @author: dlwlrma* @data 2025年01月15日 16:55* @Description 静态内部类*/
public class Singleton{private Singleton(){}private static class SingletonHolder{private static final Singleton instance = new Singleton();}public static Singleton getInstance(){return SingletonHolder.instance;}
}


版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词