我读了一篇关于Java中垃圾回收的高层次概述文章,链接为http://www.cubrid.org/blog/tags/Garbage%20Collection/。该文章提到:
紧缩任务的目的是通过压缩内存来消除内存碎片,从而消除已分配内存区域之间的空白空间。
那么对象是否应该移动到其他位置以填补空洞呢?
我认为对象是被移动的,如果是这样,那么地址也会发生改变,因此对该对象的引用也应该更新?
寻找所有的反向引用并进行更新似乎是一项过于复杂的任务...
紧缩任务的目的是通过压缩内存来消除内存碎片,从而消除已分配内存区域之间的空白空间。
那么对象是否应该移动到其他位置以填补空洞呢?
我认为对象是被移动的,如果是这样,那么地址也会发生改变,因此对该对象的引用也应该更新?
寻找所有的反向引用并进行更新似乎是一项过于复杂的任务...