Java设计模式之单例模式
来源:互联网 发布:xp中windows设置在哪 编辑:程序博客网 时间:2024/06/05 07:40
单例模式(singleton)
概念:
保证一个类仅有一个实例,并提供一个访问它的全局访问方法
优点:
1、控制实例产生的数量,达到节约资源的目的
2、控制资源的使用,通过线程同步来控制资源的并发访问
3、作为通信媒介使用,也就是数据共享,它可以在不建立直接关联的条件下,让多个不相关的两个线程或者进程之间实现通信
适用:
1.当类只能有一个实例而且客户可以从一个众所周知的访问点访问它时。
2.当这个唯一实例应该是通过子类化可扩展的,并且客户应该无需更改代码就能使用一个扩展的实例时。
俩种实现方式:
1.懒汉模式(类加载时不初始化)
2.饿汉模式(在类加载时就完成了初始化,所以类加载较慢,但获取对象的速度快)
懒汉模式示例代码:
//懒汉式单例模式//比较懒,在类加载时,不创建实例,因此类加载速度快,但运行时获取对象的速度慢public class SingleLazy{ private SingleLazy(){}//构造函数 private static SingleLazy intance = null;//静态私用成员,没有初始化 public static synchronized SingleLazy getInstance() { //静态,同步,公开访问点 if(intance == null){ intance = new SingleLazy(); } return intance; }}
饿汉模式示例代码:
//饿汉单例模式//在类加载时就完成了初始化,所以类加载较慢,但获取对象的速度快public class Single{ private Single() {} private static Single instance = new Single();//静态私有成员,已初始化 //静态,不用同步(类加载时已初始化,不会有多线程的问题) public static Single getInstance(){ return instance; }}
阅读全文
0 0
- java设计模式之单例模式
- Java模式设计之单例模式
- Java模式设计之单例模式
- Java模式设计之单例模式
- java设计模式之单例模式
- Java模式设计之单例模式
- Java模式设计之单例模式
- Java设计模式之单例模式
- Java设计模式之单例模式
- Java设计模式之单例模式
- Java设计模式之单例模式
- Java模式设计之单例模式
- java设计模式之单例模式
- java设计模式之单例模式
- java设计模式之单例模式
- java设计模式之单例模式
- java设计模式之单例模式
- java设计模式之单例模式
- MySql安装后登陆异常问题总结
- 京东笔试题2:求括号匹配数目
- Ajax浅析+Ajax实操—Java EE Struts2 篇
- 链表和树
- nginx负载均衡
- Java设计模式之单例模式
- PHP垃圾回收机制
- bzoj 2049 [Sdoi2008]Cave 洞穴勘测 LCT
- 第一天
- maven的优势
- C++二叉树的建立以及遍历
- 京东笔试题201709082127
- 9. Palindrome Number
- LocalBroadcastManager