首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java,为什么自引用类不分配无限的内存?

Java,为什么自引用类不分配无限的内存?
EN

Stack Overflow用户
提问于 2021-05-31 13:00:34
回答 1查看 48关注 0票数 0

我正在学习单链表。在我下面提供的示例的第5行,是一个调用自引用类的示例。我感觉分配给next的内存是无限的,因为当Java编译器计算Node的大小时,它会递归地遍历第5行,以确定为Node分配多少内存。我对第5行有什么误解?

你能解释一下自引用类吗?

分配给next变量的内存有多少?

为什么第5行有效?我认为无限的递归循环是无效的。

EN

回答 1

Stack Overflow用户

发布于 2021-05-31 14:16:48

在构造函数中分配给'next‘的是另一个对象'n’的内存地址(在本例中是另一个Node)。

对象变量只是指向内存堆中真实对象的引用( RAM中为JVM分配的一个段)。

从概念上讲,你可以把它理解为一个坐标,一个数字。我还认为'n‘可能是'null',这意味着到目前为止next不会引用任何对象。

为了帮助你理清思路,你要创建的是一个“实例”,它包含了对同一个类的另一个“实例”的引用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67768113

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档