私はEffective Javaの本を読んでいて、項目7で次のことを見つけました: ファイナライザーを避けるセクション:
明示的な終了メソッド パターンの例として挙げられている 4 つのクラス (FileInputStream、FileOutputStream、Timer、および Connection) には、終了メソッドが呼び出されない場合のセーフティ ネットとして機能するファイナライザーがあります。残念ながら、これらのファイナライザは警告を記録しません。このような警告は、通常、API の公開後に追加することはできません。これは、既存のクライアントを壊すように見えるためです。
私の質問はどうですか?これが起こると私が想像できる唯一の方法は、クライアントが Java プロセスの出力を解析していて、これらの余分な警告が何らかの形で解析を中断する可能性がある場合です。
これには別の理由がありますか。