由懒汉式单例模式谈懒加载

先谈谈什么是单例模式

首先,单例模式是对象的创建模式之一,此外还包括工厂模式。单例模式的三个特点:
1,该类只有一个实例
2,该类自行创建该实例(在该类内部创建自身的实例对象)
3,向整个系统公开这个实例接口

以上内容出处:http://www.cnblogs.com/snandy/archive/2011/04/07/2007717.html

1、饿汉式单例模式

特点是:在定义的一开始便new一个对象

public class Singleton
{	
	/* 饿汉式*/
	private static final Singleton s = new Singleton();
	private Singleton(){}
	public static Singleton getInstance(){
		return s;
	}
}

2、懒汉式单例模式

特点是:在真正需要new一个对象的时候才new对象

public class Singleton
{	
	private static Singleton s = null;
	private Singleton(){}
	public static Singleton getInstance(){
		if(s != null){
			synchronized(Singleton.class){
				if(s != null)
					s = new Singleton();
			}
		}
	}
}

根据上面两个代码,第二个代码就采用了懒加载,也就是说:懒加载是在对象真正需要被实例化的时候,才去实例化它。



你可能感兴趣的:(java)