JR 精品文章 - 阎宏博士讲解:单例(Singleton)模式
AD: jr (at) javaresearch.org


首页 | 动态 | 文章 | FAQ  | 新闻 | 下载 | 代码 | 工作 | 调查 | 术语 | 站点 | 图书 | 论坛 | 帮助 | 全部  

TOP | 交流 | 软件 | 专栏 | 开源 | 译/著 | 源码 | API  | 推荐 | FTP  | 积分 | 统计 | 搜索 | Blog | 我们  
首页 » 研究文集 » 设计及设计模式 搜索标题相关文章 搜索标题相关文章    评论此文章 发表评论     开始监控此文章 开始监控   加入收藏夹  加入收藏夹
阎宏博士讲解:单例(Singleton)模式
jeffyan77 原创   更新:2002-12-05 05:01:13  版本: 1.0   

本文是作者的新书《Java与模式》的节选,主要内容如下:


第15章  单例(Singleton)模式    
15.1  引言    
15.2  单例模式的结构    
15.3  在什么情况下使用单例模式    
15.4  单例类的状态    
15.5  一个实用的例子:属性管理器    
15.6  Java语言中的单例模式    
15.7  专题:不完全的单例类    
15.8  相关模式    
15.9  附录:双重检查成例的研究    
15.10  给读者的一点建议    


请在下面打开pdf文件阅读本文

单例(Singleton)模式

阎宏博士
《Java与模式》作者
www.WebEndsHere.com(或者http://218.6.168.109/jeffyan77)
JavaPatterns@yahoo.com


版权声明   给作者写信
本篇文章对您是否有帮助?  投票:         投票结果:     11       1
作者其它文章: 作者全部文章
评论人:snakeman 发表时间: Fri Apr 04 14:22:29 CST 2003

  我看了您在这章附录里写的双重检查成例的研究,不知jive中的forumfactory里的getInstance()是否是您说的那种情况呢?
public ForumFactory()
    {
    }

    public static ForumFactory getInstance(Authorization authorization)
    {
        if(authorization == null)
        {
            return null;
        }
        if(factory == null)
        {
            synchronized(initLock)
            {
                if(factory == null)
                {
                   //LicenseManager.validateLicense("Jive Forums Basic", "2.0");
                    try
                    {
                        DbForumFactory dbFactory = DbForumFactory.getInstance();
                        dbFactory.init();
                        factory = dbFactory;
                    }
                    catch(Exception e)
                    {
                        e.printStackTrace();
                        ForumFactory forumfactory = null;
                        return forumfactory;
                    }
                }
            }
        }
        return new ForumFactoryProxy(authorization, factory, factory.getPermissions(authorization));
    }
评论人:jeffyan77 发表时间: Wed Aug 06 02:14:27 CST 2003
JIVE里面的这个代码确实属于Double-check Locking,是会出问题的。

当然,出问题的几率很小,使这个对象第一次被呼叫的时候,而这种情况下往往系统中只有很少用户。因此在实际应用中并不一定会出错。

这个文章共有 2 条评论
主题: 阎宏博士讲解:单例模式与MX记录 上一篇文章
返回文章列表 返回〔设计及设计模式〕
下一篇文章 主题: 阎宏博士讲解:抽象工厂(Abstract Factory)模式


文字广告链接
        自主、快速定制基于JAVA的B/S业务系统          重量级企业在线自定义WEB报表平台
        Excel制表、零代码发布、打印、图表结合——快逸报表,免费、稳定、功能强大的java工具
        技术圈: 关于Java、dotNet、PHP、Ruby、奇客、Web2.0等更多资讯博客精选文章

关于 JR  |  版权声明  |  联系我们 

©2002-2006 JR 版权所有 沪ICP备05019622号