Head First设计模式-单例模式

一、整体代码

        Singleton.java

 

public class Singleton {
	private static Singleton uniqueInstance;
 
	// other useful instance variables here
 
	private Singleton() {}
 
	public static synchronized Singleton getInstance() {
		if (uniqueInstance == null) {
			uniqueInstance = new Singleton();
		}
		return uniqueInstance;
	}
 
	// other useful methods here
}


        Singleton.java

 

 

public class Singleton {
	private static Singleton uniqueInstance = new Singleton();;
 
	// other useful instance variables here
 
	private Singleton() {}
 
	public static Singleton getInstance() {
		return uniqueInstance;
	}
 
	// other useful methods here
}

 

 

二、解析

      1、第一种单件模式,在多线程时需要同步,造成了额外开销。

       2、第二种不用同步。


 

posted on 2013-10-16 13:27  我的小人生  阅读(179)  评论(0编辑  收藏  举报