Java 具有一个引用的垃圾收集对象

Java 具有一个引用的垃圾收集对象,java,garbage-collection,Java,Garbage Collection,我正在实例化一些对象,并将它们添加到一个静态列表中,以便使用静态方法对所有对象调用一些方法 删除该对象上的所有引用后,将导致GC删除该实例 但在我的例子中,这个对象仍然在我的列表中。 有没有办法自动删除它们,或者我必须执行销毁方法?创建列表时,其插槽将在内存中有自己的位置。因此,通过从对象(例如String Hi)向其传递一个值,可以确保索引0处的插槽将包含String类型的值Hi。从对象null中删除引用时,将标记其内存位置以允许重写其插槽。解决方案是访问列表并删除元素。您必须清除列表或使其成

我正在实例化一些对象,并将它们添加到一个静态列表中,以便使用静态方法对所有对象调用一些方法

删除该对象上的所有引用后,将导致GC删除该实例

但在我的例子中,这个对象仍然在我的列表中。
有没有办法自动删除它们,或者我必须执行销毁方法?

创建列表时,其插槽将在内存中有自己的位置。因此,通过从对象(例如String Hi)向其传递一个值,可以确保索引0处的插槽将包含String类型的值Hi。从对象null中删除引用时,将标记其内存位置以允许重写其插槽。解决方案是访问列表并删除元素。

您必须清除列表或使其成为弱引用列表。列表仍然引用这些元素,因此尚未删除其中的所有引用?我不是java专家,因为这是java中WeakReference的一个用途。对一个对象有一个WeakReference意味着如果GC没有其他理由保留它,被引用的对象可能会消失。因此,您需要在访问它之前进行检查,但将它放在列表中并不能阻止它被GCedThank热舔和ACTORCAVILIS。这正是我想要的:@HotLicks你能把它作为这个问题的答案吗?你不能移除任何东西。您可以更改引用变量的值。null只是一个不同的值。