Yabu.log

ITなどの雑記

Javaの4種類の参照について

この記事で書いたWeakReferenceですが、それを加えてJavaには

  • 通常の参照
  • SoftReference
  • WeakReference
  • PhantomReference

の4つがある

[Java] WeakReferenceとその仲間たち - Qiita

Javadocの翻訳が間違っている?

kagamihoge.hatenablog.com

weak参照

weak参照以外の参照が無くなった時、GCの回収対象となる

Soft参照

soft参照以外の参照が亡くなったとき、かつヒープの容量が不足しているとき、GCの回収対象となる。 つまりメモリが不足していなければ、回収対象とならない。そこがweak参照との違い

Phantom参照

一番弱い参照。これのget()は常にnullを返す finalize()の代わりに使うみたいなだけど、使い方がよくわからない。 コード例はこの辺にのってる。 blog.ragozin.info