我最近根据Artima Inside JVM 2-ed Ed阅读了有关JVM规范的内容。其中一章提到了Java运行时的类型存储,它说:
Java虚拟机为其加载的每种类型创建类
java.lang.Class
的实例。虚拟机必须以某种方式将对类型的类实例的引用与方法区域中类型的数据相关联。
我有点困惑,因为我一直认为Class
文件放在方法区域中包含类型信息的位置。是否存在Java存储类型信息的其他地方?
答案 0 :(得分:1)
是的,正如它所说an instance of java.lang.Class
已创建。这意味着表示类文件的 Object 放在堆上,以及方法区域中的Class
文件。
这是在对象上调用Class
时返回的getClass()
对象。