1. 程式人生 > 程式設計 >Java靜態內部類實現單例過程

Java靜態內部類實現單例過程

這篇文章主要介紹了Java靜態內部類實現單例過程,文中通過示例程式碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

列舉實現單例

執行緒安全,呼叫效率高,不能延時載入,可以天然的防止反射和反序列化呼叫

public enum SingletonFactory {
   
  //列舉元素本身就是單例
  INSTANCE;
   
  //新增自己需要的操作
  public SingletonObject getInstance(){
   return new SingletonObject();
  }
}

靜態內部類實現單例

執行緒安全,呼叫效率高,可以延時載入,使用內部類的好處是,靜態內部類不會在單例載入時就載入,而是在呼叫getInstance()方法時才進行載入,達到了類似懶漢模式的效果,而這種方法又是執行緒安全的.

public class SingletonFactory {
 public static SingletonObj getInstance() {
  return SingletonObj.instance.context;
 }

 private static class instance {
  private static final SingletonObj context = new SingletonObj();
 }
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。