【发布时间】:2013-08-13 15:18:58
【问题描述】:
我对 system.exit 有点困惑。我从这个link 中创建了一些东西。
但我心里有些疑惑。如果我使用系统退出,创建的对象、变量等会发生什么。一旦我调用system.exit,一切都会被破坏吗?如果“是”,那么为什么我们在 system.exit() 之前强制进行垃圾收集?如果“否”创建的对象在 JVM(内存)中存储多长时间?如果退出系统后再次运行程序,如果调用 System.exit(); 后之前的对象没有销毁,会发生什么?
谢谢。
【问题讨论】:
-
有什么建议或意见吗?任何热烈欢迎。谢谢
-
“一旦我调用 system.exit,所有东西都会被破坏吗?” - 不完全是(或立即)。
System.exit启动 JVM 的“正常”终止。该过程的一部分将是清理和释放内存,但到那个阶段,所有的 Java 代码都将被终止...... -
AFAIK System.exit 只是结束当前正在运行的 JVM,因此其中的所有内容都丢失了。为什么说“我们在 system.exit() 之前强制进行垃圾回收”?
-
@AndrewMartin 我对 system.exit 有点困惑。我从这个“链接”中创建了一些东西。仔细看我把那个链接链接到旧帖子。我遵循它,但有些观点令人怀疑。这就是我发这篇文章的原因。
标签: java object garbage-collection jvm systemexit