回覆列表
  • 1 # ryaod35593

      單例模式能如上面程式碼中的實現方式,最主要依賴於我們可以在私有的構造器中完成初始化的任務,而需要延遲或是從外部獲取相關的引數。否則,我們就必須要採取延遲初始化的方式,一種典型實現方式的程式碼如下:public class Configuration {  private static final Configuration instance = null;  private Configuration() {  // init  }  public static Configuration getInstnace() {  if (instance == null) {  instance = new Configuration();  }  return instance;  }  // .. other methods  }  注意getInstance方法,我們增加了一個if語句來實現延長初始化和只初始化一次。這段程式碼在單執行緒的情況下是沒有問題的,但如果放在多執行緒中,就有可能產生多個Configuration例項了,從而破壞單例模式,是系統可能產生資料不一致的結果。如果解決在多執行緒裡的問題,我們在下一篇文章中再為大家分析。,本站保留追究責任的權利。  

  • 中秋節和大豐收的關聯?
  • k1267次列車時刻表格?