如何在Java中手动删除对象?有没有像obj.delete()
或obj.kill()
答案 0 :(得分:10)
没有真正的方法。 Java有一个特殊的垃圾收集器,可以帮到你。一旦你的对象没有对它的任何引用,它将被垃圾收集器在某个时刻拾取并销毁。
垃圾收集器
对象有资格获得垃圾 收集时没有更多 对该对象的引用。参考 在变量中保存的是 通常在变量出现时掉线 超出范围。或者,你可以明确地说 通过设置删除对象引用 变量到特殊值 空值。请记住,程序可以有 多次引用相同 宾语;对对象的所有引用 必须在对象之前删除 有资格进行垃圾收集。
答案 1 :(得分:3)
无法删除对象。当对象没有更多引用时,Java的垃圾收集器会自动执行它。
但是,一旦通过调用System.gc()删除了对对象的所有引用,就可以运行垃圾收集器。请仔细阅读方法的文档。它只保证尽最大努力删除所有标记为删除的对象。
您还应该进行这些讨论
答案 2 :(得分:2)
Java如此受欢迎的主要原因之一是垃圾收集。您不必担心分配或取消分配内存。话虽这么说,如果你想摆脱一个对象,只需将对象的所有引用设置为null,一旦垃圾收集器运行,该对象将被处理掉。
您必须担心关闭文件,套接字,数据库连接等资源......为此,您应该在try / finally块中执行此操作。
答案 3 :(得分:-1)
只需为其指定空值。
让GC处理这个
obj = null;