- 構(gòu)建
懶漢方式:指全局的單例實(shí)例在第一次被使用時構(gòu)建颓帝。
餓漢方式:指全局的單例實(shí)例在類裝載時構(gòu)建。
public class Singleton {
private static class Holder{
private final Singleton instance = new Singleton();
}
// Private constructor suppresses
private Singleton() {}
// default public constructor
public static Singleton getInstance() {
return Holder.instance;
}
}
- 用靜態(tài)內(nèi)部類可以在多線程的情況下碎浇,有效的創(chuàng)建對象力惯。
- Double Check也是會出現(xiàn)問題的,JIT優(yōu)化會有指令重排死讹。
- 多進(jìn)程會失效
補(bǔ)充(主體)
單例模式總結(jié)
技術(shù)小黑屋的總結(jié)