这两种实现Singleton的方法之间是否有任何功能差异?
public class MySingleton {
private static MySingleton instance;
public static MySingleton getInstance() {
if (instance == null) {
instance = new MySingleton();
}
return instance;
}
}
public class MySingleton {
private static final MySingleton instance = new MySingleton();
public static MySingleton getInstance() {
return instance;
}
}
除了第一种方式允许某种clearInstance()方法的事实.虽然你可以在第二种方法中使实例不是最终的.
第一种方法在技术上是否表现更好,因为它仅在第一次需要时而不是在程序启动时初始化?