Java - When is a direct buffer freed?

So how is it from jvm heap and gc when it is released? Or does he stay until the process is completed?

I already checked:

But all the answers are blurred, no one answered explicitly, is there a clear answer? At least for Java 8 on 64-bit Linux.

+4
source share
1 answer

DirectByteBuffer Java. API sun.misc.Cleaner. PhantomReference DirectByteBuffer ( , ). DirectByteBuffer phantom ( , ), , ReferenceQueue, Cleaner . , :

  • DirectByteBuffer phantom .
  • ( ), DirectByteBuffer Java ReferenceQueue.
  • ( java.nio.DirectByteBuffer.Deallocator), , , .

, , . Java, . , phantom , . , , API Cleaner. , , JDK: DirectByteBuffer , . . Bits.reserveMemory() ( DirectByteBuffer).

, Java-9 API Cleaner : java.lang.ref.Cleaner. JavaDoc, , .

+13

All Articles