私は、デストラクタを明示的に呼び出さなければならないネイティブCライブラリを参照するAPIをJavaで書いています。デストラクタが呼び出されない場合、私はネイティブメモリを使い果たします。ガベージコレクタをカスタマイズしてネイティブメモリリークを防止するには?
デストラクタを明示的に呼び出さないようにする方法はありますか?ガベージコレクタにデストラクタを呼び出す方法(おそらく私が使用しているネイティブメモリのサイズの見積もりに基づいています)
私はJavaがガベージコレクタをJava APIの一部として持っていないことを知っていますが、これを実現する方法がいくつかありますか?
これは、Javaオブジェクトに '.finalize()'を定義するのが実際に便利な使い方の1つです。その中のネイティブオブジェクトを破棄します。また、ユーザがそれ自身を行うことができるようにメソッドを提供します(メソッドが呼び出されなかった場合は 'finalize()'を呼び出して教えます) – fge