设计模式--单例模式Singleton
来源:互联网 发布:geekbench4 mac下载 编辑:程序博客网 时间:2024/06/14 00:48
定义:
确保一个类只有一个实例,并提供一个全局的访问点。
经典实现:
public class Singleton{ private static Singleton INSTANCE ; private Singleton() {} public static Singleton getInstance(){ if(INSTANCE == null) INSTANCE = new Singleton(); return INSTANCE; }}
处理多线程:
<pre name="code" class="java">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; }}这样在创建和运行时方面的负担不会太重,
双重检查加锁,在getInstance()中减少使用同步:
public class Singleton{ private volatile static Singleton INSTANCE ; private Singleton() {} public static Singleton getInstance(){ if(INSTANCE == null){ synchronized(Singleton.class){ if(INSTANCE == null) INSTANCE = new Singleton(); } } return INSTANCE; }}
此模式确保程序中一个类最多只有一个实例,并提供访问这个实例的访问点。
私有构造器,一个静态方法,一个静态变量
如果你使用多个类加载器,可能会产生多个实例。
ps
OO原则
封装变化
多用组合,少用继承
针对接口编程,不针对实现编程
为交互对象之间的松耦合设计而努力
类应该对扩展开放,对修改关闭
**依赖抽象,不依赖具体类 0 0
- 单例设计模式(Singleton)
- 单例设计模式Singleton
- singleton(单例设计模式)
- 单例设计模式(Singleton)
- Singleton 单例设计模式
- 单例设计模式Singleton
- Singleton 单例设计模式
- Singleton单例设计模式
- 单例(Singleton)设计模式
- 设计模式-Singleton单例
- 单例(Singleton)设计模式
- 设计模式(2)-单例模式(Singleton)
- 设计模式 - Singleton Pattern(单例模式)
- 设计模式 - Singleton Pattern(单例模式)
- 设计模式---单例模式(singleton)
- 设计模式(4)-单例模式(Singleton)
- 设计模式 – 单例模式(Singleton)
- 设计模式-单例模式(Singleton)
- 总结学习遇到的一些问题
- android 通过Eclipse进行数字签名
- Sybase的安装、配置及使用(五) Sybase数据库的常用工具说明
- hbase shell应用filter
- unity 框选自由截屏
- 设计模式--单例模式Singleton
- oracle 保留两位小数
- 先根建树中序遍历
- thinkPHP 输出及其模板调用(三)
- 黑马程序员——IOS学习三:Objective-C的扩展OOP,类别,内存管理等——黑马 ios 技术博客
- sql 查询何时何人删除何条记录的存储过程
- BI资料地址
- 有向图求拓扑
- PHP队列实现