zoukankan      html  css  js  c++  java
  • System.gc()和Runtime.gc()的区别

    首先给出Runtime.gc()方法在API说明文档中的介绍:



        运行垃圾回收器。调用此方法意味着 Java 虚拟机做了一些努力来回收未用对象,以便能够快速地重用这些对象当前占用的内存。当控制从方法调用中返回时,虚拟机已经尽最大努力回收了所有丢弃的对象。

        名称 gc 代表“垃圾回收器”。虚拟机根据需要在单独的线程中自动执行回收过程,甚至不用显式调用 gc 方法。

        方法 System.gc() 是调用此方法的一种传统而便捷的方式。



    看到这大家就明白了,其实System.gc()就是通过调用Runtime.gc()来完成的。

    如果非要找出点区别的话,那还得再看看System.gc()  在文档中的说明部分,如下:



        运行垃圾回收器。

        调用 gc 方法暗示着 Java 虚拟机做了一些努力来回收未用对象,以便能够快速地重用这些对象当前占用的内存。当控制权从方法调用中返回时,虚拟机已经尽最大努力从所有丢弃的对象中回收了空间。

        调用 System.gc() 实际上等效于调用:

             Runtime.getRuntime().gc()
             

        另请参见:
            Runtime.gc()




    如果仔细对比,就会发现System.gc()是个静态方法,也就是说调用System.gc()方法,可以直接调用。而通过Runtime.gc()方法调用时,必须先通过getRuntime方法来得到Runtime实例,然后再调用gc方法,由此可见API说明文档中“方法 System.gc() 是调用此方法的一种传统而便捷的方式 ”的说法还是很准确的”。

    参考博客:

    https://blog.csdn.net/u011824857/article/details/38797725

  • 相关阅读:
    SQL Server 通用分页存储过程
    SQL 分页通用存储过程
    python 获取本机IP的三种方式
    Python代码打印出9*9 九九乘法表
    python进程.线程和协程的总结
    5.__魔法方法__开会喽
    css干货部分
    html干货部分
    pyinstaller 打包exe可执行文件
    3_3.黏包现象
  • 原文地址:https://www.cnblogs.com/lkylin/p/13061098.html
Copyright © 2011-2022 走看看