單例模式顧名思義是在內(nèi)存中只有一個實例配名,減少了內(nèi)存開支,特別是一個內(nèi)存頻繁的創(chuàng)建和銷毀。
單例模式兩種形式:
1.懶漢模式 線程不安全,在 getInstance 的時候可能會生成多個對象抵知,避免線程不安全可以加上 synchronized 關(guān)鍵字
public class Singleton {
private static Singleton Singleton = null;
private Singleton() {
}
public static Singleton getInstantce() {
if (Singleton == null) {
return new Singleton();
}
return Singleton;
}
}
- 餓漢模式,線程安全
public class Singleton {
private static Singleton singleton = new Singleton();
private Singleton() {
}
public static Singleton getInstance() {
return singleton;
}
}