Я пытаюсь найти схему доступа к объектам в некоторых приложениях Java. Точнее, я хочу знать, к какой части объекта обращались и когда.
Например, если у приложения есть два объекта, скажем a
и b
типов A
и B
(довольно нереалистичное предположение: P), но все же!
Теперь А выглядит вот так
A{
int x;
String y;
B haha;
}
B{
int w;
ArrayList<Integer> someCollection;
}
Теперь, если приложение делает доступ прямо или косвенно через какую-то функцию или что-то еще, тогда я хочу отследить эти обращения до самого лучшего уровня (например, в случае этого someCollection
, если я добавлю элемент некоторому объекту (примитиву) или сложный) в зависимости от класса будет меняться.
Тогда информация, которую я ищу, заключается в том, что я буду знать, какой объект / подобъект был read/written
.
Для того, чтобы все доступ к каждому объекту (если это возможно, до самого лучшего уровня)
AFIK Java сохраняет объект как графы объектов (графы объектов, у которых родительский объект имеет дочерние объекты в качестве дочерних объектов) для сборки мусора. Существуют ли какие-либо инструментальные рамки / инструментальные средства, которые могут помочь мне получить доступ к этим графам объектов или к любой структуре данных, используемой JVM? Я верю (хотя и не уверен), что если я смогу получить доступ к этим графикам, я смогу достичь того, что я пытаюсь сделать!