注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

东东的博客

江南烟雨,同大家一起分享

 
 
 

日志

 
 

设计模式读书笔记之单例模式(Singleton)  

2010-07-13 19:58:11|  分类: 设计模式相关 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

单例模式:保证一个类只有一个实例,并提供一个全局的访问途经。


view plaincopy to clipboardprint?
package designpattern.singleton;  
public class Singleton {  
    private static Singleton instance;  
    private Singleton(){}  
    public static Singleton getInstance(){  
        if(instance==null){  
            instance = new Singleton();  
        }  
        return instance;  
    }  
}  

特点:

1 该类自己负责保存它自己唯一的实例;

2 该类的构造方法为私有,以保证外部无法调用构造方法来实例化它;

但是如果有多个线程同时访问getInstance,则还是有可能创造出多个实例。改进一下:


view plaincopy to clipboardprint?
package designpattern.singleton;  
public class Singleton {  
    private static Singleton instance;  
    private Singleton(){}  
    public static Singleton getInstance(){  
        if(instance==null){  
            synchronized(Singleton.class){  
                if(instance==null){  
                    instance = new Singleton();  
                }  
            }  
        }  
        return instance;  
    }  


转自:http://blog.csdn.net/sunxing007/archive/2010/03/28/5425704.aspx
  评论这张
 
阅读(320)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017