不同种类的DirectByteBuffer

更新时间:

所有DirectByteBuffer

在该类别下,ATP将列出堆中所有DirectByteBuffer。

JVM管控DirectByteBuffer

在该类别下,ATP将列出由JVM自带清理器jdk.internal.ref.Cleaner管控的DirectByteBuffer(即DirectByteBuffer.cleaner字段不为空)。

这些DirectByteBuffer关联一片堆外内存,当DirectByteBuffer对象不再被使用的时候,jdk.internal.ref.Cleaner会负责自动释放关联的堆外内存。

JNI分配的DirectByteBuffer

在该类别下,ATP将列出由JNI方法NewDirectByteBuffer分配的DirectByteBuffer对象(即DirectByteBuffer.cleaner和DirectByteBuffer.att均为空)。

用户通过Unsafe或JNI手动分配一片内存地址,并将这部分地址作为参数传递给JNI方法NewDirectByteBuffer,DirectByteBuffer与该地址绑定,这片内存的生命周期由用户负责管理。