Java の強参照、ソフト参照、弱参照、仮想参照の比較入門

不言
リリース: 2019-02-11 11:08:40
転載
2916 人が閲覧しました

この記事では、Java の強参照、弱参照、仮想参照について説明します。必要な方は参考にしてください。

強参照

オブジェクトに強参照がある場合、メモリ領域が不十分な場合、Java 仮想マシンはそれを再利用しません。 OutOfMemoryError エラーが発生すると、プログラムが異常終了します。また、強参照を持つオブジェクトをランダムに再利用してもメモリ不足の問題は解決されません。

SoftReference

十分なメモリ領域がある場合、メモリ領域が不十分な場合、ガベージ コレクタはそれを再利用しません。ガベージ コレクターがオブジェクトを再利用しない限り、オブジェクトはアプリケーションで引き続き使用できます。ソフト参照により、メモリ依存のキャッシュが有効になります。

弱い参照 Weakreference

弱い参照のみを持つオブジェクトは、プロセス中に、ガベージ コレクター スレッドが管理するメモリ領域をスキャンします。弱い参照のみを持つオブジェクトが検出されると、現在のメモリ領域が十分であるかどうかに関係なく、そのメモリが再利用されます。ただし、ガベージ コレクタは優先度が非常に低いスレッドであるため、それらのオブジェクトが必ずしもすぐに見つかるとは限りません。弱参照のみを持つオブジェクト。

仮想参照PhantomReference

仮想参照はオブジェクトのライフサイクルを決定しません。オブジェクトが仮想参照のみを保持する場合、そのオブジェクトには Like 参照はありません。 、いつでもリサイクルできます。

参照キュー ReferenceQueue

参照キューは、ソフト参照、弱参照、仮想参照と組み合わせて使用​​できます。また、仮想参照も組み合わせて使用​​する必要があります。ソフト参照 (弱い参照または仮想参照) によって参照されるオブジェクトがガベージ コレクションされている場合、Java 仮想マシンはこの参照を、それに関連付けられた参照キューに追加します。

rreeee

以上がJava の強参照、ソフト参照、弱参照、仮想参照の比較入門の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:segmentfault.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート