0
我最近阅读了关于根据Artima的JVM规范在JVM第二版中的内幕。其中一个章节提到了存储在Java运行时中的类型,它表示:Java虚拟机:类型信息
类别为
java.lang.Class
的实例由Java虚拟机为其加载的每种类型创建。虚拟机必须以某种方式将对类型的Class实例的引用与方法区域中的类型数据相关联。
我有点困惑,因为我一直以为Class
文件所在的方法区域包含了类型信息。 Java存储类型信息还有其他地方吗?
是的,但它表示它将REFERENCE与Class文件与类型信息相关联。但类是类型信息,为什么它需要引用自身? – Bober02 2012-04-18 13:19:02
创建的'Class'对象必须包含对方法区域中类数据的引用。两个不同的实体。只有当需要信息时才能在两者之间建立连接。该连接以编程方式不可见。 – Jivings 2012-04-18 13:21:35
因此,当我们尝试在Java中运行'instanceof'时,对象上的指针指向方法区域上的类型数据或类型堆上的单例'Class'对象? – Bober02 2012-04-18 14:14:50