简介
定义:保证一个类仅有一个实例,并提供唯一一个全局访问他的节点。
1,饿汉模式
public Class Singleton{
//保证仅有一个实例
private static Singleton mInstance = new Singleton();
//提供唯一一个全局访问他的节点。
private Singleton(){
}
public static Singleton getInstance(){
return mInstance;
}
}
6,静态内部类模式
只有调用getInstance()时虚拟机加载SingletonHolder初始化单利实例:mInstance。首先:通过虚拟机机制确保线程安全,进而保证实例的唯一性,其次:避免了初始化时,类加载较慢,并且:用到时才加载,避免了内存浪费。推荐使用这种。
public Class Singleton{
//提供唯一一个全局访问他的节点。
private Singleton(){
}
public static Singleton getInstance(){
return SingletonHolder.mInstance;
}
//保证仅有一个实例
//记得:final修饰成员变量。
private static Class SingletonHolder{
private static final Singleton mInstance = new Singleton();
}
}
网友评论