1、首先我们来看一种创建对象的方式,这代码都见过。但是你知道他们都存在哪里吗?
在这里插入图片描述
2、再来看一张图你或许就明白了。
在这里插入图片描述

3、四者的联系图。
假设创建了Customer()实例 和 Account()实例
在这里插入图片描述
在栈中会有一个堆中对象头中运行时元数据里的哈希值,这就是一个地址,用于在栈中可以引用堆中对象。
堆中对象中有一个类型指针是对方法区中类元信息的引用。
对象中的实例具体的数据中可能就会有对字符串常量池的引用。常量池中存储这一系列字符串数据。
一个对象还可以指向另一个对象。

另外想了解 对象头 的内部细节介绍的,可以看这里。

尚硅谷深解Java虚拟机(JVM)内存结构各部分总结【三层划分】https://blog.csdn.net/qq_43012792/article/details/107358550

有用点赞,手留余香!😐 😐 😐

Logo

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

更多推荐