Java中的内存管理
如何在Java中手动删除对象?是否有类似于Java中的内存管理,java,memory-management,Java,Memory Management,如何在Java中手动删除对象?是否有类似于obj.delete()或obj.kill()的方法只需将空值赋给它即可 让GC来处理这个问题 obj = null; 没有真正的办法。Java有一个特殊的垃圾收集器,它可以为您实现这一点。一旦您的对象没有任何引用,垃圾回收器就会在某个时候将其拾取并销毁 发件人: 垃圾收集器 对象符合垃圾回收的条件 当没有更多时收集 对该对象的引用。工具书类 保存在变量中的是 通常在变量消失时删除 超出范围。或者,您可以显式地 通过设置删除对象引用 将变量转换为特殊值
obj.delete()
或obj.kill()
的方法只需将空值赋给它即可
让GC来处理这个问题
obj = null;
没有真正的办法。Java有一个特殊的垃圾收集器,它可以为您实现这一点。一旦您的对象没有任何引用,垃圾回收器就会在某个时候将其拾取并销毁 发件人: 垃圾收集器 对象符合垃圾回收的条件 当没有更多时收集 对该对象的引用。工具书类 保存在变量中的是 通常在变量消失时删除 超出范围。或者,您可以显式地 通过设置删除对象引用 将变量转换为特殊值 无效的记住,一个程序可以有 对同一文件的多个引用 对象对对象的所有引用 必须在对象被删除之前删除 有资格进行垃圾收集
Java如此流行的主要原因之一是垃圾收集。您不必担心分配或取消分配内存。也就是说,如果您想删除一个对象,只需将对该对象的所有引用设置为null,一旦垃圾收集器运行,该对象将被处理。
您必须担心关闭资源,如文件、套接字、数据库连接等。。。为此,您应该在try/finally块中执行此操作。无法删除对象。当对象没有更多引用时,Java的垃圾收集器将自动执行此操作 但是,一旦通过调用删除了对对象的所有引用,就可以运行垃圾收集器。请仔细阅读该方法的文档。它只保证尽最大努力删除所有标记为删除的对象 你也应该进行这些讨论