4.4. ファイナライズの非推奨化および削除
Red Hat build of OpenJDK 21 では、オブジェクトの破棄前のクリーンアップ操作に使用されるファイナライズ機能が非推奨になりました。ファイナライズ機能は今後のリリースで削除される予定です。
Red Hat build of OpenJDK 21 では、引き続きデフォルトでファイナライズが有効になっています。早期のテストを容易にするために、--finalization=disabled
コマンドラインオプションを設定してファイナライズを無効化できます。
ファイナライズに依存するライブラリーやアプリケーションを保守している場合は、cleaners や try
-with-resources ステートメントなどの他のリソース管理手法への移行を検討してください。この変更により、ライブラリーとアプリケーションのメンテナーはできるだけ早くコードをテストすることを推奨します。
詳細は、JEP 421: Deprecate Finalization for Removal を参照してください。