请问高手,System.gc();  与Runtime.gc()的区别

解决方案 »

  1.   

    没什么区别public void gc()
    运行垃圾回收器。调用此方法意味着 Java 虚拟机做了一些努力来回收未用对象,以便能够快速地重用这些对象当前占用的内存。当控制从方法调用中返回时,虚拟机已经尽最大努力回收了所有丢弃的对象。 
    名称 gc 代表“垃圾回收器”。虚拟机根据需要在单独的线程中自动执行回收过程,甚至不用显式调用 gc 方法。 方法 System.gc() 是调用此方法的一种传统而便捷的方式。 
      

  2.   

    public static void gc()运行垃圾回收器。 
    调用 gc 方法暗示着 Java 虚拟机做了一些努力来回收未用对象,以便能够快速地重用这些对象当前占用的内存。当控制权从方法调用中返回时,虚拟机已经尽最大努力从所有丢弃的对象中回收了空间。 调用 System.gc() 实际上等效于调用: Runtime.getRuntime().gc()
      

  3.   

    没区别
    System.gc()就是调用Runtime.gc()来实现的