对象存储和文件存储 class对象在内存中如何存储?

class对象在内存中如何存储?以Java类为例,当构造一个新对象时,对象存储在内存中如下:①堆栈区存储函数参数和局部变量;②堆区存储对象;③数据区存储静态变量或字符串常量;④代码为对象添加引用计数器

class对象在内存中如何存储?

以Java类为例,当构造一个新对象时,对象存储在内存中如下:

①堆栈区存储函数参数和局部变量;

②堆区存储对象;

③数据区存储静态变量或字符串常量;

④代码为对象添加引用计数器。每当一个地方引用它时,计数器将增加1。当引用失败时,计数器将减少1。任何时候,计数器为0的对象都不会被使用。

在大多数情况下,这是一个很好的算法。

无法解决对象循环引用的问题。

此算法的思想是使用一系列“GC根”对象作为根节点,并从这些节点向下搜索。搜索路径称为“参考链”。当一个对象没有通过任何引用链连接到GC根时,证明该对象不可用。

如果您对学习Java有任何疑问(学习方法、学习效率、如何就业),可以随时来找我,(教程/答案/交流小组/学习方法/就业信息)等,欢迎大家分享资源。