finalize

    5

    3答えて

    私は最近、Javaでfinalizeメソッドを発見しました(なぜ、それを前に逃したのか分かりませんが、そこにあります)。このはのように思えますが、それは私が取り組んでいる問題の多くに対する答えになるかもしれませんが、もっと情報を最初に得たいと思っていました。 オンライン、私はこの図は、ガベージコレクションのプロセスを示す発見し、最終決定: 質問のカップル: これは正しい、別のスレッドで行われますか

    5

    1答えて

    はそれは非常に奇妙だ私のコード public class FinalizableObject { @Override protected void finalize() throws Throwable { System.out.println("finalize() invoked for " + this); super.finalize();

    1

    2答えて

    sys.exit()が呼び出されたときにPythonスクリプトを正しくファイナライズする最良の方法は何ですか?呼び出しsys.exit(-1) - - それはアプリ をクローズする時間だ決める - 一部のUSBガジェット を開く - ファイル をログ開いた - (あるいは、それは過酷なスロー:たとえば 私はアプリを持っています私は少しのおしゃぶりだったので、コードのいくつかの部分が実際にすべての例

    6

    2答えて

    java finalizeメソッドについて読んだことは、ではなく、と書いてあります。それはほとんどの場合、呼び出されることは保証されていない場合でも、問題が発生している可能性があります。 いつ使用するかを尋ねる質問があります。一般的なコンセンサスはNEVERです。 私は自分で使ったことがありません(主に警告しなかったため)。私はそれをどこにも使用していないと見ています。 どこが適切な場合があります

    2

    2答えて

    最近、Finalizeメソッドのオーバーロードで実行されているコードに関連する問題が発生しました。 私はメモリ管理/パフォーマンスに関連する問題をほとんど認識していますが、「どのコードをFinalizeメソッドに含めないでください」というガイドラインがあるかどうかは興味がありますか?例えば : はFinalizeメソッド内から例外をスローしないでください。 コードをすばやく実行する必要があります。

    2

    1答えて

    ガベージコレクタによってクラスインスタンスが収集されるたびにfinalize()が呼び出されることはわかっています。しかし、私は、クラスのインスタンスをキュー経由で別のスレッドに渡すときにちょっと混乱します。 のは、これはスレッド1のスケルトンであるとしましょう: for(i=0; i<1000; i++) { Packet pkt = new Packet(); // instance

    0

    3答えて

    Java言語の保証されたfinalize()に似たオブジェクトの動作を実装したいと思います。ガベージコレクションの直前にの文を実行したいが発生します。最終的にtryブロックの直後に実行されるので、finallyブロックはここでは役に立たないことに注意してください。これは私の必要条件ではありません。基本的には、JVMのヒープからアンロードされる直前にオブジェクトをシリアル化する必要があります。お知ら

    0

    1答えて

    Fooのクラスでデストラクタを実装すると、Fooのインスタンスがファイナライゼーションキューで密接に追跡されます。 Fooのインスタンスがガベージコレクトされると、CLRはファイナライズキュー内のエントリを見て、そのオブジェクトをヒープの外に移動して到達可能なテーブルに移動させることによってそのオブジェクトに特別な処理を与えます。それでは...ガベージコレクションのサイクルで何も起こらないのですか

    5

    4答えて

    私はfinalize()メソッドを持つ入れ子式のコンストラクタを持つスーパークラスを持っています。 super.finalizeを呼び出すのを忘れるサブクラスから保護するために、私はfinalizerガーディアン(EJ Item 7)を書いています。ここで public class Super { public Super() {} { Object final

    1

    1答えて

    私は、close、dispose、finalize、GC、Idisposableについて完全に混乱しています。 ああ、私にそれらの明確な説明を送ってください。