黑马程序员7--单例设计模式
来源:互联网 发布:电话变声软件 编辑:程序博客网 时间:2024/06/06 01:39
单例设计模式
------- android培训、java培训、期待与您交流! ----------
//饿汉式,先初始化对象
//Single类一进内存,就已经创建好了对象
class Single
{
private static Single s = new Single();
private Single(){}
public static Single getInstance()
{
return s;
}
}
//Single类一进内存,就已经创建好了对象
class Single
{
private static Single s = new Single();
private Single(){}
public static Single getInstance()
{
return s;
}
}
示意图:
//懒汉式,方法被调用时才创建对象,也叫做对象的延时加载。
//Single类进内存,对象还没有存在,只有调用了getInstance方法时,才建立对象
class Single
{
private static Single s=null;
private Single(){}
public static Single getInstance()
{
if(s==null)//此处加判定,减少同步锁的判定
{
synchronized(Single.class){
if(s==null)//多加一次判定,防止两个线程同时相继进入,创建多个对象
{
s=new Single();
}
}
}
return s;
}
}
//Single类进内存,对象还没有存在,只有调用了getInstance方法时,才建立对象
class Single
{
private static Single s=null;
private Single(){}
public static Single getInstance()
{
if(s==null)//此处加判定,减少同步锁的判定
{
synchronized(Single.class){
if(s==null)//多加一次判定,防止两个线程同时相继进入,创建多个对象
{
s=new Single();
}
}
}
return s;
}
}
示意图:
1.饿汉式线程安全,优先考虑使用饿汉式
2.对于只允许同一时间只运行一个的程序,使用单例模式实现。
0 0
- 黑马程序员7--单例设计模式
- 黑马程序员_单例设计模式
- 黑马程序员_单例设计模式
- 黑马程序员 单例设计模式
- 黑马程序员_单例设计模式
- 黑马程序员_单例设计模式
- 黑马程序员-单例设计模式
- 黑马程序员---单例设计模式
- 黑马程序员:单例设计模式
- 黑马程序员-单例设计模式
- 16.黑马程序员-设计模式-单例
- 黑马程序员_单例设计模式
- 《黑马程序员》单例设计模式
- 黑马程序员_java 单例设计模式
- 黑马程序员--单例设计模式
- 黑马程序员---单例设计模式【java】
- 黑马程序员-单例设计模式
- 黑马程序员—单例设计模式
- ntp esxi
- js:深入函数的定义
- FZU2171:防守阵地 II(线段树)
- 第五周作业——Dijkstra算法的实现
- POP3、SMTP和IMAP
- 黑马程序员7--单例设计模式
- Cocos2d-x v3.0正式版尝鲜体验【3】 Label文本标签
- 黑马程序员8--网络编程
- C/C++ 宏
- 逗B少年搞程序04 策略模式——这次要甩什么技能呢~
- 基于LRU算法的缓存池——阿里笔试题
- 玩转html5(一)-----盘点html5新增的那些酷酷的input类型和属性
- FZU2169:shadow(最短路)
- fzu - 1752 Problem 1752 A^B mod C