public class Singletion {
private Singletion() {}
private static Singletion mInstance;
public static synchronized Singletion getInstance() {
if (mInstance == null) {
mInstance = new Singletion();
}
return mInstance;
}
}
该类在调用getInstance的时候(使用)才初始化,但这里加了synchronized关键字,就变成了一个同步方法。相较于饿汉式的“空间换时间”特点,懒汉式是“时间换空间”。
由于在使用时才会进行实例化,可以说节省了系统资源(优点);
但每次调用getInstance都会同步一次,浪费系统资源(缺点)。