タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

デザインパターンに関するorangehatのブックマーク (1)

  • シングルトンと遅延初期化 - kenmazの日記

    シングルトンなクラスを定義するために以下のように記述されたコードをよく目にする。 class Singleton { private volatile static Singleton instance; public static Singleton getInstance() { if (instance == null) { synchronized(Singleton.class) { if (instance == null) { instance = new Singleton(); //(1) } } } return instance; } これは、1度しかinstanceを生成できないことを保証して、かつ最小限の同期処理でシングルトンを実現するための「二重チェック」イディオムを使ったコードなんだけど、このコードはjava1.4以前では正しく機能しない。(1)の箇所で「アウ

    シングルトンと遅延初期化 - kenmazの日記
  • 1