方案一:
public class SingleInstanceTest {
private static volatile SingleInstanceTest mInstance;
private SingleInstanceTest(){
}
public static SingleInstanceTest getInstance(){
if (mInstance == null){
synchronized (SingleInstanceTest.class){
if (mInstance == null){
mInstance = new SingleInstanceTest();
}
}
}
return mInstance;
}
public void myMethod(){
}
}
方案二:
public enum SingleInstanceEnum {
INSTANCE;
public void myMethod(){
}
}
SingleInstanceEnum.INSTANCE.myMethod();
单例模式实现解析
本文深入探讨了单例模式的两种实现方式:双重检查锁定和枚举类型。通过具体代码示例,详细解释了每种方法的工作原理及其优缺点。双重检查锁定确保线程安全的同时最小化同步开销,而枚举类型则提供了简洁且易于理解的实现。
976





