Я новичок в C и C ++, и я не очень хорошо знаю, как использовать JVMTI.Я хочу получить физическую область памяти (в шестнадцатеричном формате) объекта Java.Является ли это возможным?Я не хочу получать ответы типа "получить его от этого профилировщика и т. Д." ... Пока что я использую эту команду в терминале Linux:
java -showversion -agentpath:../CPrg/DLL/bin/Debug/libDLL.so SimpleMemAlloc
libDLL.so - это библиотека, которую я создаюиспользуя c, где я запускаю его с моим Java-приложением.Это на самом деле работает, работает с моим кодом, но я не знаю, как получить нужные данные.
Например, я использую этот простой код:
public class SimpleMemAlloc{
Object [] oarray = new Object[10000];
public static void main(String args []){
Object [] o= new Object[100];
for (int i= 0; i<100; i++){
o[i] = new Integer [10000];
}
}
}
Я хочуполучить место в памяти (0x ...) каждого нового целочисленного массива, который я создаю ... Я буду очень рад, если получу хороший пример кода с использованием jvmti