私はCおよびC++の初心者であり、JVMTIの使用方法がよくわかりません。Javaオブジェクトの物理メモリ位置(16進数)を取得したい。出来ますか?「このプロファイラーなどから取得する」などの回答は取得したくありません...これまでのところ、Linuxターミナルでこのコマンドを使用しています。
java -showversion -agentpath:../CPrg/DLL/bin/Debug/libDLL.so SimpleMemAlloc
libDLL.soは、Javaアプリケーションで実行するcを使用して作成しているライブラリです。それは実際に機能し、私のコードで実行されますが、必要なデータを取得する方法がわかりません。
たとえば、私は次の単純なコードを使用しています。
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を使用して素敵なサンプルコードを取得できれば、とてもうれしいです。