Java/デザインパターン/singleton
提供: 初心者エンジニアの簡易メモ
サンプルクラス
public class Singleton { // このクラスに唯一のインスタンス private static Singleton instance = new Singleton(); // newでのインスタンス生成防止 private Singleton() {} // インスタンス取得メソッド public static Singleton getInstance() { return instance; } }
NG
以下記述はマルチスレッド時にインスタンスを1つにすることを保証しない。
参考 http://www.atmarkit.co.jp/fjava/javatips/075java007.html
public class Singleton { // このクラスに唯一のインスタンス private static Singleton instance; // newでのインスタンス生成防止 private Singleton() { instance = null; } // インスタンス取得メソッド public static Singleton getInstance() { if (instance == null) { instance = new Singleton(); } return instance; } }