如何避免垃圾收集器收集对象

时间:2014-07-16 05:54:26

标签: java garbage-collection garbage

我的代码中有一些对象没有在everyloop中调用,但是在将来有些强制终止循环,不可预测的错误等时会有用,所以如何确保这个对象不会被垃圾收集器收集

例如:我有一个类,所以我不希望GC在这个类上执行任何垃圾收集

5 个答案:

答案 0 :(得分:4)

如果对象有价值且创建成本高昂,您应该在班级的某个字段中依赖它们。您可以创建一个类似缓存的地图,当您准备再次使用它们时,将它们从地图中删除。

答案 1 :(得分:0)

保持对该对象的强引用,执行此操作将始终确保您的对象不会被GCed。我还会把这些东西留给垃圾收集器,我认为在内存管理方面我认为它比我们更聪明(并且应该得到应有的尊重)

答案 2 :(得分:0)

您应该查看变量的范围。只要它们在范围内,它们就不应该被垃圾收集。

答案 3 :(得分:0)

如果它们将来有用,你可以在某处提到这些对象。这足以确保它们永远不会被垃圾收集。

答案 4 :(得分:0)

垃圾收集器只是避免了代码中有任何参考的对象。所以如果你想要任何对象永远不会被G.C.收集直到执行你的代码。只要对该对象进行全局引用。