В настоящее время я создаю собственный агент JVMTI для Java 1.7. Проблема в том, что мне нужно индексировать некоторые данные о конкретных экземплярах объектов Java. Итак, мой вопрос: могу ли я использовать значение типа jobject как идентификатор экземпляра объекта для извлечения моих проиндексированных данных?Как однозначно различить экземпляр объекта Java
Я ищу любую информацию о семантике типа задания. Является ли это указателем на ячейку памяти объекта? Это адрес указателя стека? Это адрес внутренней структуры JVM? Поэтому я не могу понять, является ли значение jobject уникальным и неизменным в течение жизни объекта Java.
Благодарим за помощь.
редактировать
Согласно спецификации JNI нашли here, jobject кажется, указатель на экземпляр Object.
Что вы сделали до сих пор и какой именно тип информации вы пытаетесь получить и индексируете или извлекаете на основе того, что вы получили? –
Может быть похоже: http://stackoverflow.com/questions/909843/java-how-to-get-the-unique-id-of-an-object-which-overrides-hashcode –
На самом деле, мой вопрос о агентом JVMTI, написанным на C. Я хочу использовать экземпляр Object в качестве первичных ключей для цели кеширования (реализован как хэш-карта или красно-черное дерево, например). Теперь я помечаю каждый объект уникальным идентификатором благодаря SetTag & GetTag. – Gu0sur20