当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:17:00  来源:本站整理

java的finalize()办法[Java编程]

赞助商链接



  本文“java的finalize()办法[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

此时,大家大概已相信了自己应当将finalize()作为一种通例用处的排除办法利用.它有什么好处呢?
要记着的第三个重点是:

垃圾汇集只跟内存有关!

也就是说,垃圾汇集器存在的唯一缘由是为了回收程序不再利用的内存.所以关于与垃圾汇集有关的任何活动来说,此中最值得注意的是finalize()办法,它们也必须同内存以及它的回收有关.

但这能否意味着假定对象包含了其他对象,finalize()就应当明确释放那些对象呢?答案能否定的——垃圾汇集器会负责释放全部对象占据的内存,无论这些对象是若何成立的.它将对finalize()的需求限制到特别的情形.在这种情形下,我们的对象可采取与成立对象时差别的办法分配一些存储空间.但大家大概会注意到,Java中的全部东西都是对象,所以这毕竟是怎么一回事呢?

之所以要利用finalize(),看起来仿佛是由于有时需求采纳与Java的普通办法差别的一种办法,通过度配内存来做一些具有C气势的事情.这主要可以通过“固有办法”来举行,它是从Java里调用非Java办法的一种方法(固有办法的问题在附录A谈论).C和C++是目前唯一得到固有办法支持的语言.但由于它们能调用通过其他语言编写的子程序,所以可以有效地调用任何东西.在非Java代码内部,大概能调用C的malloc()系列函数,用它分配存储空间.并且除非调用了free(),不然存储空间不会得到释放,从而造成内存“漏洞”的呈现.当然,free()是一个C和C++函数,所以我们需求在finalize()内部的一个固有办法中调用它.

读完上述文字后,大家大概已弄清楚了自己没必要过量地利用finalize().这个思惟是精确的;它并非举行普通排除工作的抱负场所.那么,普通的排除工作应在何处举行呢?


  以上是“java的finalize()办法[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • 利用Javascript实现网页水印(非图片水印)
  • Java开辟环境的搭建
  • Ubuntu java安装与配置
  • 办理Ubuntu 10.04 Firefox3.6 Java浏览器插件不工作的问
  • Ubuntu重装后Java环境的设置
  • Sun Java进入Ubuntu 10.10软件中央
  • Ubuntu 10.10配置Java开辟环境
  • 在Ubuntu 10.10中配置Java环境变量的办法
  • Ubuntu下Java环境的搭建
  • Ubuntu 10.04 下安装 Java, JRE
  • Ubuntu 10.04下的搭建SUN JAVA开辟环境
  • Ubuntu 12.04安装java7
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .