- 單例對象(Singleton)是一種常用的設(shè)計模式汉形。在Java應(yīng)用中纸镊,單例對象能保證在一個JVM中,該對象只有一個實(shí)例存在概疆。
單例模式的好處:
1逗威、某些類創(chuàng)建比較頻繁,對于一些大型的對象岔冀,這是一筆很大的系統(tǒng)開銷凯旭。
2、省去了new操作符,降低了系統(tǒng)內(nèi)存的使用頻率尽纽,減輕GC壓力咐蚯。
3、有些類如交易所的核心交易引擎弄贿,控制著交易流程春锋,如果該類可以創(chuàng)建多個的話,系統(tǒng)完全亂了差凹。(比如一個軍隊(duì)出現(xiàn)了多個司令員同時指揮期奔,肯定會亂成一團(tuán)),所以只有使用單例模式危尿,才能保證核心交易服務(wù)器獨(dú)立控制整個流程呐萌。
public class Soup1 {
private Soup1(){}; //私有構(gòu)造方法,防止被實(shí)例化
private static Soup1 soup1 = null; //持有私有靜態(tài)實(shí)例谊娇,防止被引用肺孤,此處賦值為null,目的是實(shí)現(xiàn)延遲加載
public static Soup1 access(){ //靜態(tài)工程方法济欢,創(chuàng)建實(shí)例
if(soup1 == null){
soup1 = new Soup1();
}
return soup1;
}
}