Закрепление объекта путем изменения битов в слове маски заголовка объекта

Мне было интересно, можно ли предотвратить перемещение объекта с помощью GC, установив один из битов в слове метки заголовка объекта (пытаясь обмануть GC).

Поэтому я хотел бы знать, можно ли таким образом гарантировать, что помеченный объект всегда имеет один и тот же адрес памяти.

1 ответ

Решение

Нет, HotSpot JVM не поддерживает закрепление объектов в любой форме, даже внутри JVM.

Не пытайтесь изменить заголовок объекта. В противном случае JVM может потерпеть крах. Содержимое заголовка может варьироваться в зависимости от версии JVM, аргументов и выбранного алгоритма GC. JVM полностью контролирует заголовок объекта и не готов к внешним изменениям.

Другие вопросы по тегам