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;
}
}
