设计模式之单例模式
发布日期:2021-06-30 20:37:30
浏览次数:3
分类:技术文章
本文共 1348 字,大约阅读时间需要 4 分钟。
(一)单例模式--双重检查模式
public class SingleDemo { //私有的,防止被引用,设置为null延迟加载 private volatile static SingleDemo instance = null; //防止实例化 private SingleDemo(){} //synchronized保证该多线程的情况下安全 private static synchronized void initSync(){ if (instance == null) { instance = new SingleDemo(); } } //获取单例 public static SingleDemo getInstance(){ if (instance == null) { initSync(); } return instance; } //保证序列化对象前后一致 public Object readResolve(){ return instance; } //测试方法 public void excuteMethod(){ System.out.println("我是SingleDemo执行的方法"); } }
或
public class SingleDemo { private volatile static SingleDemo instance = null; //防止实例化 private SingleDemo(){} public static SingleDemo getInstance(){ if (instance==null){ synchronized (SingleDemo.class){ if (instance==null){ instance= new SingleDemo(); } } } return instance; }}
(二)单例模式--静态内部类单例模式(推荐使用,不仅保证线程安全,能确保类的唯一性)
public class SingleDemo { //防止实例化 private SingleDemo(){} private static SingleDemo getInstance(){ return SingleHolder.SINGLE_DEMO; } private static class SingleHolder{ private static final SingleDemo SINGLE_DEMO = new SingleDemo(); }}
转载地址:https://liuqiang.blog.csdn.net/article/details/79818107 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
留言是一种美德,欢迎回访!
[***.207.175.100]2024年04月23日 08时48分28秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
「收藏」HTML笔记-持续更新中
2019-04-30
数据结构期末复习------排序汇总
2019-04-30
数据结构期末复习------查找汇总
2019-04-30
青云QingMR集群创建、HDFS节点与Client节点管理教程
2019-04-30
Vue学习(10)————————编程式导航,地址栏的#号去掉,路由的嵌套
2019-04-30
SpringBoot内置Tomcat配置参数
2019-04-30
Nginx基本知识
2019-04-30
微服务公用实体类andLombok
2019-04-30
小问题
2019-04-30
Spring Security之旅————————————基本介绍安装(1)
2019-04-30
Spring IO Platform学习
2019-04-30
局部加权回归
2019-04-30
已知后序和中序求层序
2019-04-30
1051. Pop Sequence (25)
2019-04-30
ELK系列:新版ELK安装(windows与linux环境)
2019-04-30
Discovering Neural Wiring(2019 nips, nas)
2019-04-30
2020kickstart E round C Toys (优先队列)
2019-04-30
pytorch raise NotImplementedError
2019-04-30