从Java文档中
直接缓冲区的内容可能驻留在普通垃圾回收堆之外,因此它们对应用程序内存占用的影响可能并不明显
同样来自Java文档,
MappedByteBuffer:直接字节缓冲区,其内容是文件的内存映射区域。
和
映射的字节缓冲区及其代表的文件映射在缓冲区自身被垃圾回收之前一直保持有效。
我认为,GC不能对堆外的内存分配进行垃圾回收。在这种情况下,这些语句使我对ByteBuffer
的内存管理感到好奇。如果直接MappedByteBuffer
支持{{1}}的情况位于普通堆之外会发生什么情况?