销毁java对象

时间:2015-12-04 11:05:16

标签: java class oop object memory

我们可以删除C ++中的对象

delete <object>

如何在没有内置垃圾收集器的情况下删除java中的对象。 如果我执行

object = null

据我所知,它不会释放内存。我怎样才能释放空间。

3 个答案:

答案 0 :(得分:3)

当您执行以下操作时,java中的对象符合垃圾回收条件:

  1. 删除对它的所有引用。
  2. 将块保留在声明的位置
  3. 当它符合条件时,JVM将在适当的时候注意释放该对象使用的内存。

    手动调用System.gc()根本不是一个好主意。任何依赖于它的正确性的代码肯定会被打破;任何依赖它来提高性能的东西都很可能被打破。 因此,简而言之,程序员无法直接控制内存分配/释放。

答案 1 :(得分:2)

你不需要。

垃圾收集器会随时随地执行此操作。

只要没有对象的实时引用它就会被释放......然后: - )

答案 2 :(得分:0)

在Java中,没有像c ++那样的“内存丢失”。你不需要释放这个内存,垃圾收集器会为你做这件事。

您可以在此链接中找到有关垃圾收集器的更多信息:http://www.cubrid.org/blog/dev-platform/how-to-tune-java-garbage-collection/

也许这个链接Is there a destructor for Java?可能对你有用。