实现线程安全的单例设计模式的三种方式:
- DCL双检查锁机制实现线程安全
- 使用静态内置类实现线程安全
- 使用static代码块实现线程安全
-----------------------------------------------------------------------------------------------------------------------------------
静态代码块中的代码在使用类的时候就已经执行了,所以可以应用静态代码块的这个特性来实现单例设计模式
public class MyObject {
private static MyObject instance;
static {
instance = new MyObject();
}
private MyObject(){
}
public static MyObject getInstance() {
return myObject;
}
}