从 Java 文档中,
直接缓冲区的内容可能位于正常的垃圾收集堆之外,因此它们对应用程序内存占用的影响可能并不明显
同样来自 Java 文档,
MappedByteBuffer:直接字节缓冲区,其内容是文件的内存映射区域。
和
映射的字节缓冲区和它所代表的文件映射在缓冲区本身被垃圾收集之前保持有效。
我相信堆外内存分配不能被 GC 垃圾收集。在这种情况下,这些语句让我对 a 的内存管理感到好奇MappedByteBuffer
。如果直接ByteBuffer
支持 aMappedByteBuffer
位于正常堆之外会发生什么?