【发布时间】:2012-10-31 11:45:28
【问题描述】:
可能重复:
How to prevent an object from getting garbage collected?
In java when does an object become unreachable?
我在一次采访中被问到这个问题:
我应该如何处理一个对象,以使垃圾收集器无法访问它?
【问题讨论】:
-
“无法到达GC”的概念甚至不存在,“无法到达的对象”的概念意味着它有资格进行垃圾回收。换句话说,这听起来是为了混淆,又是一个蹩脚的面试问题(TM)。
-
创建一个 Singleton 对象,将其所有数据写入 finalize(); Methode 到磁盘,如果它存在于私有构造函数中,则读取它。
-
@MeNoMore 这如何防止 GC?问题不在于保存状态,而在于防止 gc,不是吗?
-
@Marko 是对的,没有用例,这个问题很荒谬。如果你想防止一个对象被 GCed,只保留一个对它的引用;否则解决方案应该从你不能这样做的原因出发。
-
(如果他们的面试问题没有以“这是一个面试问题”为前缀,那么他们的面试问题可能会被关闭。)