如何在java中释放内存

时间:2012-10-19 14:07:34

标签: java

我创建了A类的Object,那时java占用了A类的内存。但是当我在A类的对象中分配null时,它可以释放该对象的内存

class A{
    public long num = 28115733;

}

4 个答案:

答案 0 :(得分:6)

如果将A类引用的Object分配给null,则对象A对于GC 符合条件(它可能不会立即释放内存)。

当释放内存时,使用的是JVM和垃圾收集器(GC)算法。

答案 1 :(得分:2)

你无法确定。当您将null分配给object reference时,该引用所指向的objecteligible Garbage Collection

JVM完全取决于releases memory object占用JVM

可能是memory看到kick off越来越低,然后garbage collector可以JVM释放一些内存。但这完全是一个后台进程。你不必担心。 此外,如果您想明确告诉System.gc()重新收集内存,则可以添加对Garbage Collection的调用。但JVM也不会立即启动JVM进程。那只会在{{1}}上。

答案 2 :(得分:0)

  

当我在A类的对象中指定null时,它可以释放该对象的内存

是的,它可以,但它不会释放内存,直到它必须。

答案 3 :(得分:0)

垃圾收集器(一个查找无法访问的对象并返回其内存以供使用的进程)回收Java中的内存。您不需要将对象显式设置为null以使其发生。