设计模式之单例模式
发布日期:2021-06-30 20:37:30
浏览次数:2
分类:技术文章
本文共 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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年04月11日 10时43分13秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
D*算法
2019-04-30
强化学习(四) —— Actor-Critic演员评论家 & code
2019-04-30
RESTful API
2019-04-30
优化算法(四)——粒子群优化算法(PSO)
2019-04-30
数据在Oracle中的存储
2019-04-30
轨迹规划 trajectory planning
2019-04-30
AGV自动导引运输车
2019-04-30
Trie树(字典树)
2019-04-30
COMP7404 Machine Learing——KNN
2019-04-30
COMP7404 Machine Learing——SVM
2019-04-30
COMP7404 Machine Learing——ROC
2019-04-30
Python量子计算qiskit
2019-04-30
Python的多线程不是真的多线程(GIL全局解释器锁)
2019-04-30