Java 7
のライブラリには、他のクラスにサービスするクラスがあります。つまり、サービスクラスのインスタンスを作成した後、そのメソッドの1つを複数回呼び出すことができます(たとえば、doWork()
メソッド)。だから私はその仕事がいつ完了したのか分からない。しかし、サービスクラスは重いオブジェクトを使用し、それらを解放する必要があります。この部分をメソッドで設定します。例えば、release()
ですが、他の開発者がこのメソッドを使用することは保証されていません。サービスクラスのタスクを完了した後、他の開発者にこのメソッドを呼び出させる方法がありますか?もちろん私はそれを記録することができますが、私はそれらを強制したいと思います。クライアントが特定のメソッドを呼び出すようにする
注:これらのオブジェクトにdoWrok()
ニーズは、それが次に呼ばれたときので
私は、doWork()
方法でrelease()
メソッドを呼び出すことはできません。
これにコードを表示できますか? – johncena
@johncena申し訳ありませんが、コードは非常に長く複雑です。それはいくつかのクラスで構成されています。 – hasanghaforian
次に、最善の方法は、finalizeメソッドを実装し、GC呼び出しを希望することです。ファイナライズでは、これらのオブジェクトを解放することができます。しかし、それがどう動くかは、しばしば予測可能ではありません。 – johncena