A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 樊占江 中级黑马   /  2012-8-3 16:26  /  1268 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Singleton 模式主要作用是保证在java应用程序中,一个类只有一个实例存在,
一般Singleton模式通常有几种形式
第一种形式:定义一个类,他的构造函数为private的,他有一个static的private的该类变量,在类初始化时实例化,通过一个public的getInstance方法获取对它的引用,继而调用其中的方法

第二种形式:只是第一次进行生成对象

其他形式:
定义一个类,它的构造函数为private的,所有方法为static的。

个人认为 第一种形式要更加安全些,但是第二种效率快

具体代码在我的博客里。大家想要看我会发出来

3 个回复

倒序浏览
小气鬼,不会直接发出来啊?
我们看不看,它就在这里,嘿嘿。
回复 使用道具 举报
这是我写的学习日志。 可以在这里分享吗?
回复 使用道具 举报
这是代码:
package Singleton;

public class Singleton {
private Singleton(){}
        //在自己内部定义一个实例,但是这是private只供内部调用
        private static Singleton instance=new Singleton();
        //这里提供了一个供外部访问笨class静态方法,可以直接访问
        public static Singleton getInstance(){
                return instance;
        }
}

第二种形式:

public class Singleton{
  private static Singleton instance=null;
  public static synchronized Singleton getInstance(){
                这个方法比上面有所改进,不用每次都进行生成对象,只是第一次使用
                        时生成实例,提高了效率!
if(instance==null)
        instance=new Singleton();
  }
  return instance;
}

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马