Java の参照の階層とは何ですか?
SoftReferences と WeakReferences
議論しながらJava の参照では、「ソフト参照」と「弱い参照」という用語がよく出てきます。参考資料。」これら 2 種類の参照は正確に何を表し、どのように異なりますか?
Ethan Nicholas の記事「Understanding Weak References」で説明されているように、弱参照とは、オブジェクトをメモリに保持できるほど強力ではない参照です。 。これは、オブジェクトを指す強参照がなくなると、ガベージ コレクターがそのオブジェクトを削除する可能性があることを意味します。
対照的に、ソフト参照は弱参照に似ていますが、参照されたオブジェクトを破棄することはそれほど積極的ではありません。利用可能な十分なメモリがある限り、ソフトに到達可能なオブジェクトはメモリ内に残ります。メモリが不足すると、ガベージ コレクターはソフト参照をクリーンアップして領域を解放することがあります。
これらのプロパティにより、メモリが許す限り、オブジェクトを迅速にアクセスできるようにオブジェクトを保存できるキャッシュにソフト参照が最適になります。メモリが不足すると、最も重要度の低いオブジェクト (ソフトに到達可能なオブジェクト) が削除されます。
さらに、Peter Kessler 氏は、Sun JRE がソフト参照を弱い参照とは異なる方法で扱うことを観察しました。クライアント JRE はメモリ フットプリントを小さく維持するためにソフト参照の削除を優先しますが、サーバー JRE はソフト参照を削除する代わりにヒープを拡張することでパフォーマンスに重点を置きます。
以上がJavaのソフト参照と弱い参照の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。