私はいくつかの内部状態情報(ここではUDPソケット)を持つオブジェクトをスタック上に割り当てる(これはUDP接続を実装する)という非常に一般的なC++のトリックを使用するいくつかのC++コードに移植します。スコープ内でオブジェクトはさまざまなこと(UDPメッセージの送受信)に使用されます。いいことは、コントロールがこのスコープを離れると、オブジェクトのデストラクタが実行され、これが自動的にオブジェクトの内部リソースを解放することになります(この場合、ソケットを閉じて、そのアドレスを再利用できることを確認します私のプログラムの他の部分のポート番号など)。私はJavaが「確定」は私がやりたいことではないだろうというデストラクタを、持っていないことを学んできたこれを行う方法を把握しようで自動リソース解放のためのJavaテクニック? "迅速なクリーンアップ"?
など
確かにいくつかの同様の巧妙な技術がありますJavaで同じことを達成していますか?私はclose()メソッドを追加して、いつも適切なタイミングで呼び出されるようにすることを実感しています。そして、これはおそらくC++よりもJavaでもっと簡単かつ確実に行われることに気付きました。しかし、私は本当にその道を行く必要がありますか?
はい、手動で行う必要がある場合は、try {} finally {}がそれを行うためのきれいな方法であると思われます。私はちょっと驚きましたが、私はそれが必要などこでも手作業でコードを書かなければならないようです。 –