System.gc()和Runtime.getRuntime().gc()区别

Posted 泡^泡

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了System.gc()和Runtime.getRuntime().gc()区别相关的知识,希望对你有一定的参考价值。

区别

  • java.lang.System.gc()只是java.lang.Runtime.getRuntime().gc()的简写,两者的行为没有任何不同,都是垃圾回收机制。
  • System.gc()和runtime.gc()用于提示jvm进行垃圾回收,但是否立即回收还是延迟回收由java虚拟机来决定。
  • System.gc()与System.runFinalization()方法增加了finalize方法执行的机会,但不可盲目依赖它们

源码

System.gc();
public static void gc() 
        Runtime.getRuntime().gc();

以上是关于System.gc()和Runtime.getRuntime().gc()区别的主要内容,如果未能解决你的问题,请参考以下文章

System.gc() 和 Runtime.gc(). finalize() 方法

java: system.gc()和垃圾回收机制finalize

我是否必须在Java中手动实现垃圾收集?

System.gc()与Object.finalize()的区别

Java应用性能调优之详解System的gc垃圾回收方法

显式调用System.gc()?