小编maX*_*nda的帖子

在java中调用System.exit()的确切目的是什么

我对system.exit有点困惑.我从这个链接创建了一些东西.

但我心里有些疑惑.如果我使用系统退出,创建的对象,变量和ect会发生什么.一旦我调用system.exit,一切都会被破坏吗?如果"是"那么为什么我们强制在system.exit()之前进行垃圾收集?如果"否"创建的对象存储在JVM(内存)中多长时间?如果在退出系统后再次运行程序,如果在我调用System.exit()之后它们没有被销毁,前一个对象会发生什么?

谢谢.

java garbage-collection jvm object systemexit

8
推荐指数
3
解决办法
7487
查看次数

为什么在垃圾收集injava中发生这种情况

据我所知,当我使用System.gc()方法运行垃圾收集时,它将从堆中收集所有未使用和未销毁的对象并清理它.所以当我运行System.gc(); 应该增加JVM的内存.但是当我运行它时,在下面的代码中,结果让我感到困惑.

Runtime rs = Runtime.getRuntime();
System.out.println("Free memory in JVM before Garbage Collection = " + 
                   rs.freeMemory());
rs.gc();
System.out.println("Free memory in JVM after Garbage Collection = " +
                   rs.freeMemory());
Run Code Online (Sandbox Code Playgroud)

输出是

Free memory in JVM before Garbage Collection = 12184624
Free memory in JVM after Garbage Collection = 12184360    
Run Code Online (Sandbox Code Playgroud)

看前值大于后值.

如果我的错误概念或解释我为什么会这样,请纠正我.

谢谢.

java swing garbage-collection concept

3
推荐指数
1
解决办法
218
查看次数

标签 统计

garbage-collection ×2

java ×2

concept ×1

jvm ×1

object ×1

swing ×1

systemexit ×1