【发布时间】:2014-04-11 20:12:14
【问题描述】:
我一直在学习 Java 以及它如何使用垃圾收集与手动释放对象。当java应用程序关闭时,我找不到java对象是否被删除的答案?例如,当一个带有对象的小型控制台应用程序时,JVM 中究竟发生了什么
public class Hello {
public String name = "Y_Y";
}
存在于内存中且控制台应用程序已关闭?
谢谢, Y_Y
【问题讨论】:
-
它可能不会被清除,但内存空间可供任何其他程序使用并覆盖持有该 Java 对象的任何地址。
-
当您说“它可能不会被清除”时,是不是意味着它有时会被清除?当堆满时会发生这种情况还是随机的?
-
通过cleared,我的意思是如果那个内存位置有一个值,那个值可能没有被改变或设置为0。它仍然有它的值Java 进程何时运行。
-
它将是
freed,用 C 语言,正如 @SotiriosDelimanolis 正确指出的那样,并不总是意味着将内存设置为 0。 -
没有遥控器的电视示例。