单例是乎没什么好说的,创建的过程中需要考虑到的是并发安全问题和性能优化。
实现代码:
/**
* 用“双重检查加锁”,在getInstance()中减少使用同步
* @author bruce
*
*/
public class Singleton {
private volatile static Singleton uniqueInstance;
private Singleton(){}
public static Singleton getInstance(){
if(uniqueInstance==null){
synchronized (Singleton.class) {
if(uniqueInstance==null){
uniqueInstance=new Singleton();
}
}
}
return uniqueInstance;
}
}