单例是乎没什么好说的,创建的过程中需要考虑到的是并发安全问题和性能优化。
实现代码:
/** * 用“双重检查加锁”,在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; } }