單例模式
單例模式(Singleton Pattern)的主要目的是確保一個類只有一個實例,并提供一個全局訪問點來訪問該實例。
在 Java 中,實現單例模式的方式有幾種常見的方式
懶漢式
public class Singleton{private static final Singleton instance = null;private Singleton(){}public static synchronized Singleton getInstance(){if(instance == null){instance == new Singleton();}return instance;}
}
懶漢式+雙重檢查
public class Singleton{// volatile 保證多線程的修改后的可見性private static final volatile Singleton instance = null;private Singleton(){}public static Singleton getInstance(){if(instance == null){synchronized(){if(instance == null){instance == new Singleton();}}}return instance;}
}
餓漢式
public class Singleton{private static final Singleton INSTANCE = new Singleton();private Singleton(){}public static Singleton getInstance(){return INSTANCE;}
}
枚舉類
public enum Singleton{INSTANCE;// ... 定義其他變量及方法
}