【发布时间】:2011-10-05 13:52:04
【问题描述】:
我知道分配directbytebuffer时,它不受垃圾回收的影响,但我想知道包装对象是否被垃圾回收。
例如,如果我分配了一个新的 DirectByteBuffer dbb,然后使用 dbb.duplicate() 复制(浅复制)它,我将在同一块内存周围有两个包装器。
这些包装器会受到垃圾回收吗?如果我这样做了
while(true){
DirectByteBuffer dbb2 = dbb.duplicate();
}
我最终会自己 OOM 吗?
【问题讨论】:
-
实际上,DirectByteBuffer 及其本机内存可能被垃圾回收。它使用 PhantomReference 来释放本地分配的内存。
标签: java garbage-collection bytebuffer