地球ウォーカー2

Scala, Python の勉強日記

JavaでSingletonを使う場合はGCに注意しないといけない?

Singletonはガベージコレクタに破棄される?

古いJavaの書籍を読んでいるとたまに、
「Singletonはガベージコレクタに破棄される可能性があるから注意せよ。」
的なことが書いてある。

実際のところは?

結論からいうと、Java 1.2以降ならば破棄されない。
Java 1.1以前のJVMは、ガベージコレクタ内のバグによって、
Singletonへの唯一の参照がSingleton自体にある場合に
GCによって回収され破棄されてしまっていた。

と、

この本に書いてあった↓

Head Firstデザインパターン―頭とからだで覚えるデザインパターンの基本
エリック フリーマン キャシー シエラ エリザベス フリーマン バート ベイツ
オライリージャパン
売り上げランキング: 110622