單利模式(Singleton)
單利對象是我們一種常用的設計模式,單利模式能保證對象在JVM中之保存一個實例對象存在
好處
1.減少一些常用對象的創建,減少系統內存的開銷。
2.省去了new的操縱符,減輕了GC的壓力,但是第一次還是要new的
3.保證一個核心對象的存在示例代碼
public class Singleton {
/* 持有私有靜態實例,防止被引用,此處賦值為null,目的是實現延遲加載 */
private static Singleton instance = null;
/* 私有構造方法,防止被實例化 */
private Singleton() {
}
//靜態方法返回整個對象的實例,為了提高性能,我們只有在Singleton為空的時候才去同步方法里面去創建對象
public static Singleton getInstance() {
if (instance == null) {
synchronized (instance) {
if (instance == null) {
instance = new Singleton();
}
}
}
return instance;
}
/* 如果該對象被用于序列化,可以保證對象在序列化前后保持一致 */
public Object readResolve() {
return instance;
}
}