Java基本

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

投稿日:

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

サンプルソース

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

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

備考

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

スポンサーリンク

スポンサーリンク

-Java基本
-

執筆者:


comment

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

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

関連記事

[Java共通部品] 日付文字列スラッシュ編集

日付文字列を、スラッシュ編集する共通関数です。 例)YYYYMMDD ⇒ YYYY/MM/DD サン ...

[Java] 指定した桁位置で四捨五入・切上げ・切捨てをする

数値を指定した桁数で四捨五入したり、切り上げ、切り捨てをしたい場合は、 java.math.BigD ...

[Java共通部品] 半角スペース埋め

半角スペース埋めする共通関数サンプルです。 サンプルメソッド 例1)指定した桁数になるまで右半角スペ ...

[Java共通関数] 文字列の前後のダブルクォーテーションを削除するFunction

文字列の前後のダブルクォーテーションを削除するFunctionです。 サンプルソース 例)文字列の前 ...

[Java] オブジェクトのパッケージ名を取得する(Class.getPackage)

オブジェクトのパッケージ名を取得するには、ClassクラスのgetPackageを使用します。 サン ...