maX*_*nda 8 java garbage-collection jvm object systemexit
我对system.exit有点困惑.我从这个链接创建了一些东西.
但我心里有些疑惑.如果我使用系统退出,创建的对象,变量和ect会发生什么.一旦我调用system.exit,一切都会被破坏吗?如果"是"那么为什么我们强制在system.exit()之前进行垃圾收集?如果"否"创建的对象存储在JVM(内存)中多长时间?如果在退出系统后再次运行程序,如果在我调用System.exit()之后它们没有被销毁,前一个对象会发生什么?
谢谢.
如果我使用系统退出,创建的对象,变量和ect会发生什么.一旦我调用system.exit,一切都会被破坏吗?
系统出口仅销毁用户线程.
为什么我们在system.exit()之前强制执行垃圾收集?
我们不这样做,因为它可能没有做任何事情,所以它不会非常有用.
创建的对象存储在JVM(内存)中的时间长短?
在不再需要它们并且发生清理之前,JVM真的会退出
如果在退出系统后再次运行程序,如果在我调用System.exit()之后它们没有被销毁,前一个对象会发生什么?
程序结束时会将其销毁.在任何情况下,即使多次运行,每个程序都会获得自己的新变量集.程序之间不存在变量共享.
我认为在这种情况下,将JVM视为在计算机上运行的程序是有用的.System.exit()终止该程序.程序中的任何内容都不会由计算机的操作系统或JVM运行时保留,但程序当然可以将内容写入长期存储.但变量,创建的objs等都消失了,无法恢复.