目录
一、单例模式的作用和使用场景
单例模式是设计模式中最常见的的一种设计模式,保证了一个类只有一个实例存在并且能够全局访问到。常见的使用场景有:应用中某个实例对象需要被频繁的访问;应用每次启动都只会存在一个实例,如账号系统、数据库对象(SQLiteOpenHelper)等。
二、五种单例模式
2.1 饿汉模式
public class SingletonStarving {
//直接初始化静态变量,确保线程安全
private static final SingletonStarving mInstance= new SingletonStarving();
private SingletonStarving() {
}
public static SingletonStarving getInstance(){
return mInstance;
}
}
- 构造函数使用private修饰,外部无法访问
- 在声明对象时初始化
- static关键字修饰静态变量,使内存中只有一份数据
- final关键字保证只初始化一次