【发布时间】:2019-08-20 10:10:15
【问题描述】:
我正在写一些使用ByteBuffers 的东西。在docs of the API 它说
没有办法显式释放缓冲区(没有 JVM 特定的 反射)。 缓冲区对象会受到GC,通常需要两次 缓冲区对象变为后,GC 循环释放堆外内存 无法访问。
但是在SO post's accepted answer我读到
BigMemory 使用 JVM 进程的内存地址空间,通过直接 不受 GC 影响的 ByteBuffers 与其他原生 Java 不同 对象。
现在我应该怎么做,我应该释放创建的缓冲区吗?还是我误解了文档或答案中的某些内容?
【问题讨论】:
-
会的。 Papa Google 首先弹出了文档,然后是一些导致误解的 SO 帖子,因此出现了问题。对于我和其他任何可能偶然发现这篇文章的人来说,这里有这个链接是件好事。