我目前正在爲Java 1.7構建本機JVMTI代理。問題是我需要索引關於特定Java對象實例的一些數據。所以我的問題是我可以使用jobject類型的值作爲對象的實例ID來檢索我的索引數據?如何唯一區分Java的對象實例
我已查找有關jobject類型的語義是什麼的任何信息。它是Object的內存位置上的指針嗎?它是一個堆棧指針地址?它是否是JVM內部結構的地址?所以我無法弄清楚jobject的價值是否獨一無二,並且隨着Java對象的生活而不可變。
感謝您的幫助。
編輯
按照JNI的規範發現here,jobject似乎是對對象實例的指針。
到目前爲止,你做了什麼?根據你所獲得的信息,你試圖獲取和索引或檢索的信息的確切類型是什麼? – 2012-03-09 19:35:04
可能類似:http://stackoverflow.com/questions/909843/java-how-to-get-the-unique-id-of-an-object-which-overrides-hashcode – 2012-03-10 00:31:15
其實,我的問題是關於一個用C語言編寫的JVMTI代理程序。我想將Object的實例用作緩存目的的主鍵(例如實現爲哈希映射或紅黑樹)。現在,我使用SetTag標記每個對象的唯一標識&GetTag功能。 – Gu0sur20 2012-03-10 21:12:46