java单例模式(懒加载)最好的实现方式?


请问大家都知道java的懒加载单例模式有哪些实现方式?我提出两种,一个是内部类实现方式:

   
  public class Manager {
  

private Manager() {

}

public static Manager getInstance() {
return ManagerHolder.instance;
}

private static class ManagerHolder {
private static final Manager instance = new Manager();
}
}

一种是常用的方式:

   
  public static class SingletonOptimizeLazy {
  
    static SingletonOptimizeLazy instance = null;
    public static SingletonOptimizeLazy getInstance() {
      if (instance == null) {
        createInstance();
      }
      return instance;
    }
    private synchronized static SingletonOptimizeLazy createInstance() {
      if (instance == null) {
        instance = new SingletonOptimizeLazy();
      }
      return instance;
    }
}

那种方式是最好的,欢迎大家讨论啊!

java 设计模式

Makeup 12 years, 11 months ago

单例模式

之前看到过一个对单例模式各种写法的分析!受益匪浅!推荐!
引用原文中的一段话:
单例模式的写法有很多,在开发设计工作时,应当既要考虑到需求可能出现的扩展与变化,也应当避免“幻影需求”导致无谓的提升设计、实现复杂度,最终反而带来工期、性能和稳定性的损失。设计不足与设计过度都是危害,所以说没有最好的单例模式,只有最合适的单例模式。

开心灬oO answered 12 years, 11 months ago

Your Answer