java - 如何在Java Native Interface中获取Java "object"地址

标签 java memory java-native-interface

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

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


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

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


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

最佳答案

关于java - 如何在Java Native Interface中获取Java "object"地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16381802/

相关文章:

java - 如何使用 JNI 从 native C/C++ 代码调用 Java applet 回调函数。

java - float 从 jni 返回到 java 收到错误结果

android - 如何在android 2.1上从sd卡加载jni?

java - 针对给定场景的速率限制算法建议

java - <LibGDX> 如何从同一文件加载多个纹理?

c++ - Double 或 int 的 Printf

c - 使用基本修剪示例在 C 中释放内存

java - 使用 GSON 解析没有特定结构的字段的 JSON

java - 尝试使用 Netbeans 在 Java 中制作下一个按钮 - 问答游戏

caching - 较低级别的缓存是否可以具有更高的关联性并且仍然保留包含性?