单例模式
来源:互联网 发布:淘宝上网络解锁可靠吗 编辑:程序博客网 时间:2024/05/20 02:50
单例模式属于创建型模式。
意图:保证一个类仅有一个实例,并提供一个访问它的全局访问点。
主要解决:一个全局使用的类频繁地创建与销毁。何时使用:当您想控制实例数目,节省系统资源的时候。
优点:①在内存里只有一个实例,减少了内存的开销,尤其是频繁的创建和销毁实例(比如管理学院首页页面缓存)。
②避免对资源的多重占用(比如写文件操作)。
缺点:没有接口,不能继承,与单一职责原则冲突,一个类应该只关心内部逻辑,而不关心外面怎么样来实例化。
UML图:
代码如下:
懒汉式(线程安全):
public class Singleton { private static Singleton instance; private Singleton (){} public static synchronized Singleton getInstance() { if (instance == null) { instance = new Singleton(); } return instance; } }饿汉式(线程安全):
public class Singleton {private static Singleton instance = new Singleton();private Singleton(){};public static Singleton getInstance() {return instance;}}
1 0
- 单例、单例模式
- 单例模式-多线程单例模式
- 单件模式(单例模式)
- 设计模式------单例模式
- 设计模式------单例模式
- 设计模式-单例模式
- 设计模式 - 单例模式
- 设计模式---单例模式
- 设计模式---单例模式
- PHP模式-单例模式
- 【设计模式】单例模式
- 设计模式-单例模式
- 设计模式----单例模式
- 设计模式--单例模式
- 设计模式-单例模式
- 单例模式(单子模式)
- 设计模式-单例模式
- [设计模式] 单例模式
- oracle 多行合并成一行: listagg \ within group
- sdut 2870
- 总结篇:大型网站技术架构-性能(二)
- 1127. ZigZagging on a Tree (30) PAT 甲级
- JavaScript数据类型(一)
- 单例模式
- --save-dev 与--save的区别
- POJ 2503 Babelfish
- Android布局优化之Include(一)
- Java之多线程下载工具类
- 第一次编译AOSP简单流程
- 表格数据的上移与下移功能
- 计算机文化基础—IT概论
- DFS搜索排列与组合