关于System.gc()

关于System.gc()

首先看一段程序:

class RubbishRelease
{

 public void finalize()
 {

  System.out.println(“the Object is going…”);
 }

 public static void main(String[] args)
 {

   new RubbishRelease();
   new RubbishRelease();
   new RubbishRelease();
   System.gc();

  System.out.println(“The program is over!”);
 }
}

当我们运行以上程序段后,可以发现每一次运行的结果都不一样?这是为什么呢?

当我们运行System.gc()之时,finalize()方法并不是立即就执行的。finalize()是由JVM自动调用的,你可以用System.gc(),但JVM不一定会立刻执行,JVM感觉内存空间有限时,才会开始执行finalize(),至于新的对象创建个数和被收集个数不同是因为收集的对象只和JVM的垃圾收集策略(垃圾回收的不确定性)有关。

转载于:https://www.cnblogs.com/rpp506815950/archive/2012/10/30/2745840.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/110292.html原文链接:https://javaforall.net

(0)
上一篇 2021年8月20日 下午2:00
下一篇 2021年8月20日 下午3:00


相关推荐

  • DELL服务器安装server2012

    DELL服务器安装server2012Dell 服务器安装 server2012R2 系统一 配置 RAID 0 或 5 安装系统一 配置 RAID 0 或 5 1 1 dell 服务器开机后 系统自检 加载到 PERC 卡自检页面的时候 按 Ctrl R 进入 PERCBIOS 管理页面 1 2 进入后我们可以看到已经创建好的两个 RAID 阵列 RAID1 DiskID 0 1 RAID10 Diskid 2 3 4 5 2 1 后续我们需要清除已经创建好的两个 RAID 阵列 为重新初始化配置所有的硬盘做准备方向键控制 高亮选中 PERC 卡阵 Ctrl R

    2026年3月19日
    2
  • Lua 入门教程

    Lua 入门教程文章目录 Lua 简介 Lua 入门安装 helloworld 类型 nilbooleannu 表达式关系操作符逻辑操作符字符串连接控制结构 ifthenelseif 数字型 for 泛型 formetatable 与 metamethodLu 简介 Lua 作为一种脚本语言 解释型语言 号称性能最高的脚本 被广泛应

    2026年3月26日
    2
  • H264/AVC视频解码时AVC1和H264的区别 .

    H264/AVC视频解码时AVC1和H264的区别 .我一直疑问为什么有些视频解码时显示格式是:H264,大部分又是:AVC1我在搜索编程资料时在微软的msdn上发现的:原文:http://msdn.microsoft.com/en-us/library/dd757808(v=vs.85).aspxFOURCC:AVC1  描述:H.264bitstreamwithoutstartcodes.FOURCC:H264  描述

    2022年6月18日
    29
  • cdn调度系统_cdn缓存调度

    cdn调度系统_cdn缓存调度CDN调度器HAProxy、Nginx、Varnish

    2022年4月22日
    39
  • 用js来实现那些数据结构03(数组篇03-排序及多维数组)

    终于,这是有关于数组的最后一篇,下一篇会真真切切给大家带来数据结构在js中的实现方式。那么这篇文章还是得啰嗦一下数组的相关知识,因为数组真的太重要了!不要怀疑数组在JS中的重要性与实用性。这篇文章分为

    2022年3月25日
    43
  • 11asdsad「建议收藏」

    11asdsad「建议收藏」常用Linux命令修改目录,文件权限的命令如何获取一个本地服务器上可用的端口。说说常见的linux命令,linux查看内存的命令是什么?查看系统磁盘空间剩余情况的命令如何获取java进程的pid如何获取某个进程的网络端口号;如何实时打印日志如何统计某个字符串行数;用一行命令查看文件的最后五行。用一行命令输出正在运行的java进程。绝对路径,当前目录、上层目录,切换目录分别用什么命令?怎么清屏?怎么退出当前命令?目录创建,创建文件,复制文件分别用什么命令?查看文件内容有哪些命令

    2022年4月29日
    39

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号