如何在Java中存储引用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Java中存储引用相关的知识,希望对你有一定的参考价值。

我开始更深入地研究JVM,内存管理以及对象的存储方式。到目前为止,我知道创建一个新对象时,Object a = new Object() a存储在堆栈内存中,并保存对对象本身的引用(堆内存中的位置)。

都很好。但是我想知道引用地址存储在哪里。如何访问此参考?我的假设是“ a”将地址保留到引用所在的第一个字节,并且由于它是对象引用,因此可以说它的长度为8个字节。

这里是我所想像的景象

enter image description here

如果有人错给我或者给我写一篇有关它的文章,如果有人可以给我更详细的解释或给出正确的解释,我将不胜感激。

现在,我试图向它解释更多的问题,例如:您如何知道对象的大小?那是存储在对象标题中的某个地方吗?

答案

在Java中,当您声明var-int [] V时不会创建数组-您只是引入名称V,该名称未链接到任何结构化数据。该数组是通过使用以下指令inew创建的:V = new int [10],它将在堆上初始化一个10 int的新数组并将其链接到V

以上是关于如何在Java中存储引用的主要内容,如果未能解决你的问题,请参考以下文章

[转载]Class文件在JVM中如何存储

SQL Server2008 存储过程传入表名称和列名称,如何在语句中使用表明引用列名?

java - 如何将table%rowtype的oracle pl/sql out参数引用为java中的对象

一道经典面试题:字符串在Java中如何通过“引用”传递

Java语言中:floatdouble数据类型在内存中是如何存储的

Java数组在内存中是啥样的