单利模式

Posted by Lazy on July 6, 2016

##单利模式(Singleton)

  • 单利对象是我们一种常用的设计模式,单利模式能保证对象在JVM中之保存一个实例对象存在
  • 好处 1.减少一些常用对象的创建,减少系统内存的开销。 2.省去了new的操纵符,减轻了GC的压力,但是第一次还是要new的 3.保证一个核心对象的存在

  • 示例代码
public class Singleton {

	/* 持有私有静态实例,防止被引用,此处赋值为null,目的是实现延迟加载 */
	private static Singleton instance = null;

	/* 私有构造方法,防止被实例化 */
	private Singleton() {
	}
	//静态方法返回整个对象的实例,为了提高性能,我们只有在Singleton为空的时候才去同步方法里面去创建对象
	public static Singleton getInstance() {
		if (instance == null) {
			synchronized (instance) {
				if (instance == null) {
					instance = new Singleton();
				}
			}
		}
		return instance;
	}

	/* 如果该对象被用于序列化,可以保证对象在序列化前后保持一致 */
	public Object readResolve() {
		return instance;
	}
}