如果,我将对象的所有字段都设置为null,则意味着该对象也设置为null?它会从垃圾收集器中收集吗?
答案 0 :(得分:1)
不,Java Garbage收集器只会删除没有有效引用的对象。
将对象的所有字段设置为null
不会减少对象本身的引用计数。但是,它可以允许GC删除那些字段曾经引用的对象,如果这些字段是对象的唯一(或最后一个)引用。
答案 1 :(得分:0)
JVM的垃圾收集器会删除丢失引用的对象(由于程序无法访问该对象)。
如果将对象的字段设置为null,则不会影响引用。因此GC不会删除该对象。
自动垃圾收集器基本上执行两项任务:
决定是否以及何时需要回收内存
找到程序不再需要的对象并回收
他们的存储
程序无法保证自动垃圾收集器在执行期间运行。程序不应该依赖于自动垃圾收集器的行为调度