Java基本

[Java] ガーベジコレクションがでオブジェクトが破棄される直前に処理を行う(finalize)

投稿日:

ガーベジコレクションがでオブジェクトが破棄される直前に処理を行うには、
finalizeメソッドをオーバーライドしてそのメソッドの中に処理を記述すればOKです。

サンプルソース

例)オーバーライドしたfilnalizeメソッドが呼び出されるサンプル

実行例
インスタンスを生成します。 インスタンスを解放します。 ガーベージコレクションを強制的に実行します。 ガベージコレクションが呼び出されました

備考

  • ガーベージコレクションを強制的に実行するには、「System.gc();」を実行します。
  • ガーベージコレクションの実行タイミングは環境に左右されるため、finalizeがいつ実行されるタイミングは保証されません。
  • なので、処理を行った後ののclose処理など必ず実行しなければならない処理はfinalizeに記述してはいけません。

スポンサーリンク

スポンサーリンク

-Java基本
-

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

関連記事

[Java] 可変長の引数を持つメソッドを作成する

Javaで可変長の引数を持つメソッド(引数の数が不定なメソッド)を作成する方法です。 構文 可変長の ...

[Java] 数値リテラルで進数を明示的に指定する

数値リテラルで進数を明示的に指定する方法です。 たとえば数値を8進数で指定したい、16進数で指定した ...

[Java共通部品] 数値範囲チェック

対象数値が指定した範囲内であるかどうかをチェックするメソッドのサンプルです。 サンプルソース 例)指 ...

[Java共通部品] 16進数⇒10進数に変換する

16進数の数値を10進数数値に変換する共通関数です。 サンプルソース 例)16進数を10進数に変換す ...

[Java] 1970年1月1日からのミリ秒を取得する(.getTime)

1970年1月1日からのミリ秒を取得するには、.getTime()を使用します。 構文 (java. ...