0

重複の可能性:
他の方法でシングルトンをクラックする

Singletonがとして機能しない場合は誰か教えてくださいSingleton

4

3 に答える 3

10

著者Joshua FoxによるSunの Web サイトで公開された非常に優れた投稿があります。これを通過してください。

以下は、Singleton動作がうまくいかない場合のシナリオの一部です。

  1. 2 つ以上の仮想マシンでの複数のシングルトン
  2. 異なるクラスローダーによって同時にロードされる複数のシングルトン
  3. ガベージ コレクションによって破棄され、再ロードされるシングルトン クラス
  4. 意図的にリロードされたシングルトン クラス
  5. シリアライゼーションとデシリアライゼーションが行われたシングルトン オブジェクトのコピー
于 2012-07-26T07:06:12.537 に答える
3

特定のクラスが複数のクラスローダーによってロードされる場合、シングルトン (Java ランド) はシングルトンとして機能しません。単一のクラスが複数のクラスローダーに存在する (またはロードされる) 可能性があるため、特定の JVM インスタンスに対して「想定される」シングルトン クラスの「複数の」インスタンスが存在する可能性は十分にあります。しかし、これは非常にまれなケースであり、多くはありません。:)

于 2012-07-26T07:05:54.793 に答える
0

クラスの複数のインスタンスを作成できる場合、クローン作成、デシリアライゼーションなどの方法を使用してシングルトンのままにはなりません。

于 2012-07-26T07:08:08.043 に答える