`
mzh_2008beijing
  • 浏览: 230610 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

设计模式之单例模式

 
阅读更多
     单例模式的主要目的是让内存中只保存某个对象的唯一实例,避免不必要的资源消耗,从而提高应用程序性能。
     单例模式的实现方式有二:

方式一:
package com.mzh.common;

public class Singleton {
	//把目标对象定义成static final类型的变量
	private static final Singleton singleton=new Singleton();
	//把默认构造方法定义成私有构造方法,防止外部通过new 方式得到实例:
	private Singleton(){}
	//通过静态方法返回对象实例:
	public static Singleton getInstence(){
		return singleton;
	}
	//业务方法:
	public void doSth(){
		System.out.println("do something.");
	}
}


方式二:
package com.mzh.common;

public class Singleton {
	//静态实例变量:
	private static Singleton singleton;
	//把默认构造方法定义成私有构造方法,防止外部通过new 方式得到实例:
	private Singleton(){}
	//通过静态方法返回实例(synchronized 关键字解决多线程共享问题)
	public static synchronized Singleton getInstence(){
		//如果目标对象实例不存在则实例化一个;否则直接返回该对象实例:
		if(singleton==null){
			singleton=new Singleton();
		}
		return singleton;
	}
	//业务方法:
	public void doSth(){
		System.out.println("do something.");
	}
}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics