如何创建一个不被垃圾回收的对象?

43 浏览
0 Comments

如何创建一个不被垃圾回收的对象?

这个问题已经有答案了

可能重复:

如何防止对象被垃圾收集器收集?

Java 中对象何时变得无法访问?

我在一次面试中被问到了这个问题:

为使对象对垃圾回收器不可访问,应该做什么?

admin 更改状态以发布 2023年5月20日
0
0 Comments

GC将管理堆中的任何对象。您可以使一个对象始终可达,因此不会被GC收集,但您无法使一个对象超出GC的范围。

使数据不可达的唯一方法是将其放在本地内存中的堆外,将其写入磁盘或将其传递给另一个进程。

顺便说一下,即使在另一个进程中代理的分布式RMI对象在不再使用时也可以被GC清理。

0
0 Comments

据我所知,没有任何对象是“无法访问”的,但是垃圾回收器只会回收那些没有被引用的项目。

因此,要“保护它们”,可以将它们声明为final(常量),或者确保始终有一个引用指向该变量,例如在主操作循环中包含该引用。

0