單例模式, 主要為了解決多個(gè)線程或者多次操作共享一個(gè)實(shí)例的問題; 所以就會(huì)面對(duì)線程安全問題, 和效率的問題;
解決方案: 1.私有化構(gòu)造方法, 來禁止外部創(chuàng)建實(shí)例; 2.內(nèi)部創(chuàng)建一個(gè)私有靜態(tài)實(shí)例, 外部通過公共接口來調(diào)用;
publicclassSingleton {
privatestaticSingleton instance = null;
privateSingleton() {
if(instance != null) {
thrownewRuntimeException("instance already exist!");
}
}
publicstaticSingleton getInstace() {
if(instance == null) {
synchronized(Singleton.class) {
if(instance == null) {
instance = newSingleton();
}
}
}
returninstance;
}
}