单件模式
来源:互联网 发布:网络手机电视直播 编辑:程序博客网 时间:2024/06/01 09:38
单件模式:确保一个类只有一个实例,并提供一个全局访问点。
实现方式大致是让构造函数为private,添加一个static类型的全局变量作为唯一实例,用一个getInstance()函数获取这个唯一变量。
public class SingleComponentImmediate { public static SingleComponentImmediate uniqueInstance = new SingleComponentImmediate();//直接声明,但会占用空间 private SingleComponentImmediate(){}; private SingleComponentImmediate getInstance(){ return uniqueInstance; }}public class SingleComponentSynchronize { public static SingleComponentSynchronize uniqueInstance; private SingleComponentSynchronize(){}; public static synchronized SingleComponentSynchronize getInstance(){//synchronized使线程进入此方法前要等其它线程离开此方法,但会影响程序效率 if (uniqueInstance == null) uniqueInstance = new SingleComponentSynchronize(); return uniqueInstance; }}public class SingleComponentDoubleClock { public volatile static SingleComponentDoubleClock uniqueInstanse;//volatile关键词确保:当uniqueInstance被初始化为SingleComponentDoubleClock时,多个线程正确处理它。 private SingleComponentDoubleClock(){}; public static SingleComponentDoubleClock getUniqueInstanse() { if (uniqueInstanse == null){ synchronized (SingleComponentDoubleClock.class){//第二重锁 if (uniqueInstanse == null) uniqueInstanse = new SingleComponentDoubleClock(); } } return uniqueInstanse; }}
阅读全文
0 0
- 单件模式
- 单件模式
- 设计模式-单件
- singleton单件模式
- Singleton (单件模式)
- 单件模式(Singleton)
- 一番话:单件模式
- 单件模式
- 单件模式
- 单件模式
- 单件模式
- 单件模式
- 单件模式
- singleton 单件模式
- 单件模式
- 一、单件模式
- 单件模式_C++
- 单件模式
- 软件包管理
- 习题3 3.3
- linux shell之IFS(定界符)
- 随笔_1024
- Mysql中文乱码问题完美解决方案
- 单件模式
- Android设计模式之——策略模式
- Windows安装和使用zookeeper
- SSE指令集简单入门
- Web DOM事件探秘
- Unity3D小白学习日记(03):Unity3D 常用技巧整理(大量干货!)
- 第8周项目3(2) 压缩存储的对称矩阵的运算
- 文章标题
- CSS 学习笔记