В предыдущих исследованиях каждый наверняка слышал об объекте-голове. Мы знаем, что заголовки объектов можно использовать для хранения информации, но многие люди, возможно, не пробовали использовать это для определенных типов хранения. Он делится на два типа: хранение данных и указатель типа самого объекта. Последний относительно мало контактирует со всеми. Мы представим эти концепции отдельно в следующих статьях. Конкретное содержание следующее.
1. Заголовок объекта в основном используется для хранения двух частей информации.
Хранить данные о работе самого объекта
указатель типа
2. Данные, когда сам объект работает, в основном включают в себя: хеш-код, возраст генерации GC, флаг состояния блокировки, блокировку, удерживаемую потоком, смещенный идентификатор потока, смещенную метку времени и т. д. Длина этой части данных составляет 32 бита и 64 бита соответственно в 32-битных и 64-битных виртуальных машинах (сжатые указатели не включены).
Указатель типа можно использовать для определения того, экземпляром какого класса является этот объект, но реализация виртуальной машины не обязана сохранять указатель типа на объекте.
Выше приведены два типа хранения заголовков объектов Java. Друзья, которые никогда не сталкивались с ними, могут после занятий провести несколько практических экспериментов с этими двумя разными хранилищами.