当您执行以下操作时,
@Override
protected void finalize() throws Throwable {
////////////////////////
this.aVeryBigComponent = null;
////////////////////////
super.finalize();
}
声纳抱怨
不好的做法 - 终结器只清空字段
发现错误:FI_FINALIZER_ONLY_NULLS_FIELDS
这个终结器除了空字段外什么都不做。这是完全没有意义的,需要对对象进行垃圾收集、终结,然后再次进行垃圾收集。您应该只删除 finalize 方法。
只要我知道将字段设置为 null 有助于垃圾收集器在第一次运行/生成时销毁对象。如果我不将该字段设置为 null,则该对象可能会被发送到第二代,并且会等待更多时间。
你怎么看?