当前位置:  技术问答>java相关

垃圾回收器:gc()的细节,请讨论

    来源: 互联网  发布时间:2015-08-23

    本文导语:  请看如下两段代码: 01:  class Tree { 02:   public void finalize() { 03:   System.out.println("over!"); 04:   } 05:  } 06:  public class Test1 { 07:   public static void main(String args[]) { 08:   Tree treeObject = new Tree(); 09:   Syste...

请看如下两段代码:
01:  class Tree {
02:   public void finalize() {
03:   System.out.println("over!");
04:   }
05:  }
06:  public class Test1 {
07:   public static void main(String args[]) {
08:   Tree treeObject = new Tree();
09:   System.gc();
10:   }
11:  }

01:  class Tree {
02:   public void finalize() {
03:   System.out.println("over!");
04:   }
05:  }
06:  public class Test2 {
07:   public static void main(String args[]) {
08:   new Tree();
09:   System.gc();
10:   }
11:  }
只有第6行和第8行略有不同。

它们的运行结果不同,可以肯定是由于第8行的不同造成的。
但为什么会产生这样不同的结果?

|
IBM上面有篇好文章说明了gc的实现情况,对于Test1来说,new Tree()生成的对象还被treeObject引用,gc无法回收new Tree();对于Test2,new Tree生成的对象没有被任何对象引用,被gc回收

|
因为第一个程序的Tree还不是垃圾呢。只有没有被任何句柄引用的对象才是垃圾。在第一个程序中,当调用gc()时,treeObject还没有出作用域,因此Tree的这个对象还有一个引用也就是treeObject,因此不是垃圾不会被回收。而在第二个程序中调用gc()时Tree对象没有任何句柄引用,所以是垃圾回收之。

    
 
 

您可能感兴趣的文章:

  • 垃圾回收器 bdw-gc
  • 我时用jdbc打开数据库,使用后是否要显示的关闭数据库,还是等java的垃圾回收器来处理。
  • 关于构造器和垃圾回收器
  • Java中垃圾回收器GC对吞吐量的影响测试
  • Python类的构造函数,析构函数以及垃圾回收机制详细介绍及代码举例
  • “当某个实例不再被任何对象引用时就会被垃圾回收机制回收”,那么怎样才算是不被任何对象引用呢?
  • 急!垃圾回收的问题!
  • 关于垃圾回收的问题
  • 垃圾回收的問題
  • php垃圾回收机制解析
  • scjp的垃圾回收几个小东东
  • 我的机器崩溃拉!no stack trace available怎么解决??强制垃圾回收也不行!
  • C#垃圾回收机制的详细介绍
  • 垃圾回收日志文件分析工具 GCViewer
  • 基于java中stack与heap的区别,java中的垃圾回收机制的相关介绍
  • 浅谈关于C#的垃圾回收机制
  • SQL Server误区30日谈 第18天 有关FileStream的存储,垃圾回收以及其它
  • php析构函数与垃圾回收机制
  • Python的垃圾回收机制深入分析
  • 深入java垃圾回收的详解
  • 详谈.net中的垃圾回收机制
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • CCNIC-垃圾-垃圾-垃圾
  • 用Linux发的邮件被当成垃圾邮件
  • ubuntu垃圾清理
  • 邮件反病毒和反垃圾网关 SAGATOR
  • 反垃圾邮件系统 SpamAssassin
  • 防垃圾留言插件 Akismet
  • WordPress反垃圾插件 Defensio Anti-Spam
  • 发垃圾邮件系统 SpamCheck
  • 垃圾收集器 bdwgc
  • WordPress防垃圾留言插件 SpamBam
  • 垃圾信息过滤插件 stop-spam
  • 反垃圾留言插件 WP-Ban
  • linux会产生垃圾文件吗?
  • WP的反垃圾插件 WangGuard
  • 怎么用javamail彻底删除邮件。不是放到垃圾箱里。。
  • 反垃圾邮件系统 milter manager
  • 反垃圾邮件系统 Rspamd
  • WordPress防垃圾留言插件 DNS-anti-spam
  • 垃圾邮件过滤 phPOP3clean
  • WordPress防垃圾留言插件 WP-Gatekeeper


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3