ファイルをいくつかの情報とともに保存して閉じるために、 finalize メソッドがオーバーライドされたオブジェクトを作成しました。そのオブジェクトは別のオブジェクトから弱参照されています。GC が発生したときにオブジェクトに変更を保存したいと考えています。そのため、ファイナライズのコードをオーバーライドしました。
ただし、ファイナライズ メソッドは、オブジェクトがガベージ コレクションされる直前に呼び出されます。これは、ガベージ コレクションの対象になった後であればいつでも可能です。
私はこれを望んでいません.GCが発生したらすぐにファイナライズメソッドを呼び出したいのですが、遅延があってはなりません。これを達成するために設定できるjvmオプションはありますか?? 私が見ることができる唯一の他の方法は「System.runFinalization()」ですが、それは粘着性のようです?? もっとエレガントな方法はありますか?
ありがとう