5垃圾回收语言中内存泄漏检测工具.docVIP

5垃圾回收语言中内存泄漏检测工具.doc

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
5垃圾回收语言中内存泄漏检测工具

垃圾回收语言中的内存泄露检测方法 1.绪论 1.1研究背景(研究对象的领域环境,学科,应用) 内存泄漏是程序未能释放其已不再使用的内存,而导致的一种内存浪费的现象。【内存泄漏会因为减少可用内存的数量从而降低计算机的性能。最终,在最糟糕的情况下,过多的可用内存被分配掉导致全部或部分设备停止正常工作,或者应用程序崩溃。维基百科待后续阅读论文,从论文中有哪些信誉好的足球投注网站可靠的定义】内存泄漏会引起堆不断的增长,降低程序的性能,如若让此具有内存泄漏问题的程序连续运行几天或几周,甚至会最终导致程序崩溃{Jump, 2010 #124}{Jump, 2010 #124}{Jump, 2010 #124}{Jump, 2010 #124}{Jump, 2010 #124}[1]。可见,内存泄漏最终带给我们的是灾难,因此,对于内存泄漏检测方法的研究是非常有意义的。 通常,对于不具有垃圾回收器(Garbage Collection,GC)的编程语言,如C或C++来说,我们很容易联想到内存泄漏。通常,C和C++具有这几种内存泄漏方式:悬挂指针(Dangling Pointer),即对已释放的对象进行重引用;指针丢失(lost pointers),即对于一个程序忘记释放的对象,没有任何指针指向它;不必要的引用(unnecessary references),即对于不再被程序所使用的对象,仍然有其他对象在引用它。[1, 2] 然而,当一些Java程序员在暗自庆幸,Java具有的垃圾回收器能够自动管理内存的回收时,说不定Java程序中的内存泄漏已悄然发生。没错,Java编程语言作为垃圾回收语言的一个代表,其拥有的巨大闪光点之一,就是它强大的垃圾回收技术,所以一些程序员不愿意相信垃圾回收语言中也可能存在内存泄漏。然是事实却并非如此,对于垃圾回收语言来说,其所拥有的GC可以阻止上述三种泄漏方式中的前两种,但对于第三种泄漏模式却是无力的,所以垃圾回收语言并不能回收程序所产生的所有垃圾,因为通常GC都只回收哪些对于根引用不可达的对象,实际上有一些对象,即使他们是可达的,却永远不会被程序所使用,这就可能造成程序性能下降和空间耗尽。[1-3] 1.2涉及主要知识点的描述(定义) /developerworks/library/j-leaks/index.html 《Handling memory leaks in Java programs》 垃圾回收: 垃圾回收语言中的内存泄漏: 当程序不正确的维持了对不再被程序需要的对象的引用,那么这时候垃圾回收语言中就会发生内存泄漏。 原因: 垃圾回收语言中的内存泄漏是指,对于一些已经分配了内存的对象,满足两个条件:一是该对象对于根进程是可达的,即能够直接或间接的被根进程引用;二是该对象是无用对象,即程序以后将不再使用该对象,该对象已成“垃圾”。 待后续在加强补充。。。 1.3本论文的研究意义及价值(针对什么问题,解决了这个问题的好处) 尽管垃圾回收语言中内置了垃圾回收器,这些程序仍然可能因为程序中存留着不必要的引用而存在内存泄漏的问题。[4] 在好的情况下,无用引用降低程序的性能,只体现在增加内存需求量,增加垃圾回收器的工作量上;在差的情况下,内存泄漏会引起内存耗尽,最后程序崩溃。[1, 2] 目前,已有一些专业工具可以用来检测垃圾回收语言中的内存泄漏问题,例如:JProfiler,JProbe,Rational Purify,Memory Analyzer,JRockit等。但国内外真正来做垃圾回收语言中内存泄漏检测研究的学者并不多,国外开始研究此问题是在大约2000年的时候开始的,而国内是在大约2003年开始研究该问题的,直到近年来,涌现了较多的学者着手研究此问题。这些学者从不同点出发,针对垃圾回收语言中的内存泄漏检测提出了不同的观点,但是缺乏一篇总结性的文章来分析对比这些检测方法。 由此,本文应运而生,利用系统评价方法对于垃圾回收语言中的内存泄漏检测方法与工具进行综合分析,通过不同分类对这些检测方法进行总结,大致分成以下四类:使用工具来检测;提出某种方法和技术来解决;静态内存检测;动态内存检测。对比重要垃圾回收语言中的内存泄漏检测方法的研究趋势,可以帮助垃圾回收语言程序开发者选择适合的检测方法来应用到自己的程序中,促进更多高质量的应用生成。 1.4论文的研究线路(如何解决这个问题) 本文第2节介绍系统综述的方法,并按照系统综述的过程进行文献资料收集和分析。第3节对于垃圾回收语言中的内存泄漏检测方法的结果进行分析,从检测方法分类、不同检测方法对比方面进行分析。第4节分析目前垃圾回收语言中的内存泄漏检测方法的不足与进一步研究的问题。最后在第5节对本文做出总结。 2.研究方法 2.1数据来源和筛选原则 我们的数据主要来自以下数据库:I

文档评论(0)

zhuwo + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档