关于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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Centos7下Rinetd安装与应用[通俗易懂]

    转自http://www.cnblogs.com/zhenyuyaodidiao/p/5540209.htmlLinux下做地址NAT有很多种方法。比如haproxy、nginx的4层代理,linux自带的iptables等都能实现。haproxy、nginx就不说了,配置相对简单;iptables配置复杂,概念也比较多DNAT、SNAT、PREROUTING、POSTROUTING等等。其实

    2022年4月17日
  • vuecli安装_vuecli3项目打包并运行

    vuecli安装_vuecli3项目打包并运行前言vue-cli是和vue进行深度组合的工具,可以快速帮我们创建vue项目,并且把一些脚手架相关的代码给我们创建好。真正使用vue开发项目,都是用vue-cli来创建项目的。vue-cli介绍

    2022年7月31日
  • html倒计时代码

    <SPANid=span_dt_dt></SPAN><SCRIPTlanguage=javascript><!–//document.write(“”);functionshow_date_time(){window.setTimeout(“show_date_time()”,1000);BirthDay=newDate(“…

    2022年4月8日
  • allow_url_include和allow_url_fopen 详解

    allow_url_include和allow_url_fopen 详解今天学习文件包含漏洞的时候,在php.ini配置文件就会接触到allow_url_include和allow_url_fopen这两个设置,非常有必要了解一下。allow_url_fopen=On是否允许将URL(如http://或ftp://)作为文件处理。allow_url_include=Off是否允许include/require打开URL(如http://或ftp://)作为文件处理。注意:从PHP5.2开始allow_url_include就默认为Off了,而allow_ur

    2022年7月16日
  • 原来一直以为i686是64位的

    原来一直以为i686是64位的在yum上找32位的i386找不到,看到i686以为是64位呢,原来它也是32位啊i686只是i386的一个子集,支持的cpu从Pentium2(686)开始,之前的型号不支持.备注:1.i386适用于intel和AMD所有32位的cpu.以及via采用X86架构的32的cpu.intel平台包括8086,80286,80386,80486,奔腾系列(1.2.3.4…

    2022年5月8日
  • Databus 调研测试

    Databus 调研测试1.简介Databus是一个低延迟、可靠的、支持事务的、保持一致性的数据变更抓取系统。由LinkedIn于2013年开源。Databus通过挖掘数据库日志的方式,将数据库变更实时、可靠的从数据库拉取出来,业务可以通过定制化client实时获取变更并进行其他业务逻辑。Databus有以下特点:数据源和消费者之间的隔离。数据传输能保证顺序性和至少一次交付的高可用性。从变化流的任意时间点进行消费,包括…

    2022年10月17日

发表回复

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

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