ソフトリファレンスとは何ですか?

Java®コーディング言語では、プログラマーがこれらの参照を知らない場合でも、参照はオブジェクト、文字列、変数に常に作成されます。これらの参考文献は、ごみコレクターと直接通信します。これは、不要な情報を収集し、それを捨てる関数であり、メモリを取り上げないようにします。デフォルトでは、すべての参照は強力な参照であり、コーディングなしで設定されます。つまり、ガベージコレクターにはリリースされません。ソフトリファレンスにより、データを捨てることができます。これは、すべての強力な参照の中間レベルの参照です。

プログラマーがJava®で何かをするときはいつでも、文字列を作成したり、複雑な関数を作成したりするのと同じくらい簡単です。参照が作成されます。プログラマーは参照コマンドを記述する必要はありません。参照は自動的に行われ、デフォルトでは強力な参照です。これは、スクリプト全体に必要な積分オブジェクトにリンクされているため、参照からのデータを捨てることができないことを意味します。

ただし、データは捨てる必要があります。そうでなければ、多くのメモリを取り上げるためです。たとえば、プログラマーがシリアル番号が使用されるスクリプトを構築したり、他の一時的な情報を収集または作成したりする場合、この情報を保持することは有害になります。 Java®プログラムは、不要な場合でも情報を捨てることを拒否し、スクリプトはますます多くのメモリを機能させる必要があります。

文字列またはセクションをコードに配置する必要があるソフトリファレンスとして指定することにより、これはガベージコレクターにデータをリリースできることを伝えます。リリースされると、文字列またはセクションは「null」として読み取ります。ガベージコレクターは、その設定に応じて、データをいつ削減するかを決定します。

3つの強力な参照があります:ソフト参照、弱い参照、およびファントムリファレンス。弱い参照は最も弱く、そのデータはスローされますすぐに。一時的なデータを数回使用できるスクリプトに最適なソフト参照は、次に並んでいます。ファントムの参照は、ほぼ自動的に1秒以内に捨てられ、控えめに使用する必要があります。

ソフト参照の残り時間の長さは、通常、コンピューターのメモリの量に依存します。メモリがいっぱいの場合、ゴミコレクターは最初にすべての弱い参照を破壊します。すべての弱い参照がなくなり、メモリがまだデータをパージする必要がある場合、次にソフト参照が捨てられます。

他の言語

この記事は参考になりましたか? フィードバックをお寄せいただきありがとうございます フィードバックをお寄せいただきありがとうございます

どのように我々は助けることができます? どのように我々は助けることができます?