2

私はjava(以前はC#)を初めて使用し、管理されていないリソースがどのように解放されるかを理解していません。

このようにFloatBufferを作成しますFloatBuffer buffer = FloatBuffer.allocate(length); 。どうすれば解放できますか?無料のメソッド、破棄または削除メソッドはありません

4

3 に答える 3

4

Javaでのすべてのメモリ管理は自動的に処理されます(ネイティブコードとのインターフェースに関するいくつかの例を除く)。

宣言されたFloatBufferへの参照がなくなると、ガベージコレクションの対象になります。その後しばらくすると、ガベージコレクターが実行され、使用済みメモリの割り当てが解除されます。

于 2012-08-10T20:37:59.197 に答える
1

ガベージコレクターは、不要になったとき、つまり現在アクティブなオブジェクトグラフで到達できないときにそれを処理します。

于 2012-08-10T20:38:10.463 に答える
1

aの割り当て解除は、FloatBuffer他のほとんどのオブジェクトと同じように処理されます(常に例外があります...)。

オブジェクトへの参照がなくなると、GCは適切なタイミングであると判断したときにその処理を実行します。

于 2012-08-10T20:37:05.583 に答える