如何在Oracle的JVM中实现引用?

时间:2013-08-08 19:38:03

标签: java object reference

在搜索有关如何在Java中实现引用变量的解释时,我遇到了这个问题: What's inside a reference variable in Java? 在Samuel_xL的评论中说,指定供应商名称将是一个更好的问题。 所以我的问题是如何在Oracle JVM中实现实例变量?它是指向地址的指针吗?我知道引用包含告诉JVM如何访问对象的位。 但它是如何构建的?

1 个答案:

答案 0 :(得分:1)

根据我能够确定的,对象引用存储为名为oop(普通对象指针)或narrowOop的类型,具体取决于JVM是使用压缩对象指针还是不。 oop是一个包装指向Java对象的C ++类,而narrowOop是一个32位无符号整数,必须转换为适当的指针才能访问该对象;他们没有内部结构。您可以在此处找到声明:http://hg.openjdk.java.net/jdk7/jdk7/hotspot/file/tip/src/share/vm/oops/oopsHierarchy.hpp

相关问题