JavaでSingletonを使う場合はGCに注意しないといけない?
Singletonはガベージコレクタに破棄される?
古いJavaの書籍を読んでいるとたまに、
「Singletonはガベージコレクタに破棄される可能性があるから注意せよ。」
的なことが書いてある。
実際のところは?
結論からいうと、Java 1.2以降ならば破棄されない。
Java 1.1以前のJVMは、ガベージコレクタ内のバグによって、
Singletonへの唯一の参照がSingleton自体にある場合に
GCによって回収され破棄されてしまっていた。