4

是否可以在 JNI 方法中获取 Java 对象的地址?或者通过任何其他方法。

如果无法获得对象的真实地址,那么有没有办法确定数据结构的内存布局?


(这只是一个例子,我的问题的描述在这一行之上。)

例如,我有一个“对象”数组(或任何其他类型的容器,例如 ArrayList、LinkedList 等),我想知道这些“对象”(不是容器内的引用)是如何在堆上分配的,它们可能不是连续分配的,甚至是随机排序的。那么我能得到任何有关这方面的信息吗?


编辑:这是另一个想法,有没有其他 Java 虚拟机可以处理这种低级的事情?例如,Jikes,甚至 Dalvik。

4

1 回答 1

1

您可以尝试http://javasourcecode.org/html/open-source/jdk/jdk-6u23/sun/misc/Unsafe.java.html。它提供了一些低级操作

于 2013-05-05T05:58:48.693 回答