0

我想知道是否可以通过自己设置对象标头的标记字中的一位来防止对象被 GC 移动(试图欺骗 GC)。

所以基本上我想知道这种方式是否可以确保标记的对象始终具有相同的内存地址。

4

1 回答 1

1

不,HotSpot JVM 不支持任何形式的对象固定,即使在 JVM 内部也是如此。

不要尝试修改对象头。否则JVM很有可能崩溃。标头的内容可能因 JVM 版本、参数和选择的 GC 算法而异。JVM 可以完全控制对象头,并且还没有准备好进行外部更改。

于 2016-12-06T07:22:02.020 回答