共計 1060 個字符,預計需要花費 3 分鐘才能閱讀完成。
Java 中單例模式的實現方法有以下幾種:
- 懶漢式(線程不安全):
public class Singleton {
private static Singleton instance;
private Singleton() {}
public static Singleton getInstance() {if (instance == null) {instance = new Singleton();
}
return instance;
}
}
- 懶漢式(線程安全):
public class Singleton {
private static Singleton instance;
private Singleton() {}
public static synchronized Singleton getInstance() {if (instance == null) {instance = new Singleton();
}
return instance;
}
}
- 餓漢式:
public class Singleton {private static final Singleton instance = new Singleton();
private Singleton() {}
public static Singleton getInstance() {return instance;}
}
- 雙重檢查鎖定(Double-Checked Locking):
public class Singleton {
private volatile static Singleton instance;
private Singleton() {}
public static Singleton getInstance() {if (instance == null) {synchronized (Singleton.class) {if (instance == null) {instance = new Singleton();
}
}
}
return instance;
}
}
- 靜態(tài)內部類:
public class Singleton {
private static class SingletonHolder {private static final Singleton INSTANCE = new Singleton();
}
private Singleton() {}
public static Singleton getInstance() {return SingletonHolder.INSTANCE;}
}
以上是幾種常見的單例模式實現方法,每種方法都有各自的優(yōu)缺點,可以根據具體需求選擇適合的實現方法。
丸趣 TV 網 – 提供最優(yōu)質的資源集合!
正文完