• System类的成员方法:public static void gc() 运行垃圾回收器


    System.gc()可用于垃圾回收。当使用System.gc()回收某个对象所占用的内存之前,通过要求程序调用适当的方法来清理资源。

    没有明确指定资源清理的情况下,Java提高了默认机制来清理该对象的资源,就是调用Object类的finalize()方法。

    finalize()方法的作用是释放一个对象占用的内存空间时,会被JVM调用。而子类重写该方法,就可以清理对象占用的资源,该方法没有链式调用,所以必须手动实现

    示例如下图所示:

    从程序的运行结果可以发现,执行System.gc()前,系统会自动调用finalize()方法清除对象占有的资源,通过super.finalize()方式可以实现从下到上的finalize()方法的调用,即先释放自己的资源,再去释放父类的资源

    但是,不要在程序中频繁的调用垃圾回收,因为每一次执行垃圾回收,JVM都会强制启动垃圾回收器运行,这会耗费更多的系统资源,会与正常的Java程序运行争抢资源,只有在执行大量的对象的释放,才调用垃圾回收最好。

  • 相关阅读:
    3
    tensorflowgpu安装
    文字合成语音
    访问tensorflow官网很慢
    cuda9.0对应pytorch版本
    anaconda更换源
    下载cuda速度慢
    anaconda navigiter 打不开
    scp上传文件出错
    DevExpress报表控件——全新的WinUI文档查看器正式发布
  • 原文地址:https://www.cnblogs.com/chenmingjun/p/8598350.html
Copyright © 2020-2023  润新知