ダイレクトバッファバッファが割り当てられているときにガベージコレクションの対象ではないが、ラッピングオブジェクトがガベージコレクトされていると私は思っています。Java DirectByteBufferラッパーはガベージコレクションされていますか?
たとえば、新しいDirectByteBuffer dbbを割り当てた後、dbb.duplicate()を使用して複製(シャローコピー)した場合、同じチャンクの周りに2つのラッパーがあります。
これらのラッパーはガベージコレクション対象ですか?私がした場合
while(true){
DirectByteBuffer dbb2 = dbb.duplicate();
}
私は結局OOM自分ですか?
実際、DirectByteBufferとそのネイティブメモリはガベージコレクションされます。 PhantomReferenceを使用してネイティブの割り当てられたメモリを解放します。 –