在周志明的《深入理解java虚拟机》,2nd,p47中有一部分文字

如果对象是一个java数组,那在对象头中还必须有一块用于记录数组长度的数据,因为虚拟机可以通过普通java对象的元数据信息确定java对象的大小,但是从数组的元数据中却无法确定数组的大小。

元数据即描述数据的数据,类似于mysql数据库中有单独存储了表信息和索引的表。

java虚拟机运行时数据区(jdk1.6及之前)
java虚拟机运行时数据区(jdk1.6及之前)

java虚拟机运行时数据区(jdk1.7)
java虚拟机运行时数据区(jdk1.7)

java虚拟机运行时数据区(jdk1.8及以后)

由此考虑到整理的java内存分布图,想到类加载类信息加载到元空间里,其他地方暂时没有存储的地方,想到“元数据”对应的是jdk8及以后版本的“元空间”里的类信息。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐