定义:Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。
Singletion的两种形式:
第一种:
public class Singletion{
private Singletion(){}
//在自己内部定义自己的一个实例,注意它是private的,只供内部调用
private static Singletion instance = new Singletion();
//这里提供一个供外部访问本class的静态方法,可以直接访问
public static Singletion getInstance(){
return instance;
}
}
第二种:
public class Singletion{
private static Singletion instance = null;
public static synchronized Singletion getInstance(){
//这个方法比上面有所改进,不用每次都进行生成对象,只是第一次生成,提高了效率
if(instance == null)
return instance;instance = new Singletion();
}
}
上面两种形式一般认为第一种形式更加安全一些
第二种形式第一次调用初始化单例模式,以后就不用再生成了。