クラスの静的フィールドに自身のインスタンスへの参照を保持させることはできますか?もしそうなら、他の誰も参照していない状態でJVMに生き続けるでしょうか?静的インスタンス変数はクラスのインスタンスを参照します
public class StatTest {
private static StatTest statTest;
public static StatTest getStatTest() {
if (statTest== null) {
statTest= new StatTest();
statTest.init();
}
return statTest;
}
private StatTest() { }
}
これは*シングルトン*パターンを実装する1つの方法です。これはスレッドセーフではないことに注意してください(つまり、複数のスレッドから 'StatTest.getStatTest()'を呼び出すと問題が発生する可能性があります)。さまざまなシングルトン実装(いくつかのスレッドセーフな実装を含む)を比較するには、私が以前に書いた答え、http://stackoverflow.com/questions/7121213/singleton-instantiation/7121246#7121246をチェックしてください。 –
ありがとうございました!私は今これが本当によく知られているパターンであることを認識しています。私は以前からシングルトンの名前を認識していますが、私はそれについて一度も読んだことはありません。今すぐ進める方法に関する情報を見つけるのは簡単でしょう。どうもありがとう! – joaerl