確定()メソッドが呼び出されたときに?目的のデストラクタ(ファイナライズ)であるとは何ですか?

リンク:https://www.nowcoder.com/questionTerminal/d8eab06913084e42b515633604eef7cd?pos=28&mutiTagIds=570&orderByHotValue=0&done=0
出典:牛オフネットワーク

参考:「Java仮想マシンの深い理解」 
の面でのJavaの場合: 
タイミングを呼び出します場合はガベージコレクタラベリングプロセスを通過するには、少なくとも二回、オブジェクトの死を宣言する:到達可能性解析中のオブジェクトが参照してチェーンを接続GCのルーツを発見した場合は、最初のマークとなり、そしてファイナライザ()メソッドを覆い、オブジェクトが仮想マシンを介して起動されていない場合、そのオブジェクトは自動的に後に確立するための仮想マシンによるF-キューキューと低優先度に配置され、ファイナライザ()メソッドを実行するか否かを判断します地区レベルファイナライザスレッド実行トリガファイナライザ()メソッドが、それはその実行の終了を待つことを約束していません。 
目的のファイナライズ:オブジェクト死を逃れるために最後のチャンス。(限り参照のチェーン上の任意のオブジェクトでそれを再関連付けるよう。)、ではなく、高価な、高い不確実性を実行するために、お勧めします、と順番に呼び出し元のオブジェクトを保証することはできません。利用可能なのtry-最終的または他の代替。
 

1)ガベージコレクタ(ガベージコレクタ)オブジェクトの回復を決定し、そのオブジェクトの()メソッドを確定実行されます。GCは、もともとメモリを回復し2)、アプリケーションはそれのファイナライズで行う必要がありますか?答えはほとんどの時間をされ、何もしない(つまり、リロードする必要はありません)。のみ、そのようなあなたが(通常はCで書かれた)いくつかのネイティブメソッドを呼び出すなど、特定の非常に特殊な状況で、finaliztionの回でCと呼ばれるように機能を解除することができます。

おすすめ

転載: www.cnblogs.com/williamjie/p/11459794.html