我正在编写一些使用
ByteBuffer
s 的代码。在API文档中,有这样的说明:
没有办法显式地释放缓冲区(除非使用特定于JVM的反射)。缓冲区对象受到GC的限制,通常需要两个GC周期才能释放缓冲区对象变得不可访问后的堆外存储器。
然而,在一个SO帖子的被采纳的答案中,我读到了以下内容:
BigMemory使用JVM进程的内存地址空间,通过直接使用字节缓冲区,与其他本机JAVA对象不同,不受GC的限制。
现在应该怎么办?我应该释放已创建的缓冲区吗?还是我误解了文档或回答中的某些内容?