欢迎光临百盛彩票app

GoogleLea百盛彩票appkFinder:查找JavaScript内存泄漏的新工具

跑步机 2019-09-04 18:396122顶点小说门户网站南山南Ba

Google开发了LeakFinder,这是一种帮助Web应用程序开发人员在其JavaScript程序中发现内存泄漏的新工具。

Google的Chrome团队创建了该工具,开发人员说,内存泄漏在浏览器中很常见-尤其是某些版本的MicrosoftInternetExplorer。

当计算机程序占用内存但无法将其释放回操作系统时,会发生内存泄漏。在面向对象的编程中,当对象存储在内存中但运行代码无法访问时,会发生内存泄漏。内存泄漏的症状类似于许多其他问题,并且通常只能由具有访问程序源代码的程序员诊断。内存泄漏可能会通过减少可用内存量来降低计算机的性能。最终,在最坏的情况下,可能会分配太多的可用内存,并且系统或设备的全部或部分停止正常工作,应用程序失败,或者系统放慢速度令人无法接受。

DouglasCrockford,一位既是粉丝又批评该语言的JavaScript开发人员,以及JavaScriptObjectNotation(JSON)的创建者,在一篇关于内存泄漏的帖子中说:“当系统没有正确管理其内存分配时,就会说泄漏内存。内存泄漏是一个错误。症状可能包括降低性能和失败。“Crockford还指出,“在一个充满旧电池的存储空间中,浏览器将死亡。”

8月和8月关于LeakFinder的帖子,谷歌的Chrome团队说:“在垃圾收集语言如JavaScript中,你不能通过忘记释放内存而导致传统的内存泄漏:当一个对象的所有引用都被删除时,对象就是垃圾-收集,记忆是星期五。但是,JavaScript程序可能会无意中保留对对象的引用而泄漏内存。例如,引用可以是指向存储在JavaScript库(例如,Closure)中的数据结构中的对象而不是应用程序代码的指针。如果无意中保留了一个对象,它指向的所有对象也会保持活动状态。这将导致多余的内存消耗。“

JavaScript的LeakFinder与Chrome的DeveloperTools远程检查协议相反,检索堆快照并根据给定的泄漏定义检测”内存泄漏“对象,Google表示。

Chrome团队提供了goog.Disposable来帮助解决泄漏问题.Goog.Disposable是一次性对象的接口。

“在删除最后一个引用之前对象是goog.Disposable(或其子类)的一个实例,用户代码应该在对象上调用方法dispose(),“Chrome团队在帖子中写道。”这种方法可以释放资源,例如通过处置事件监听器。但是,Web应用程序可能会忘记在删除对象的所有引用之前调用dispose()。“

泄漏查找程序可以检测到未处置的goog.Disposable对象。它生成机器可读输出并且可以用作测试自动化的一部分。

为了找到泄漏,LeakFinder依赖于goog.Disposable监控模式。该模式收集所有已创建但尚未处理的goog.Disposable实例。Google表示,工具可以检测goog。未处置的一次性物品。

上一篇:Microsoft在蓝色 下一篇:没有了

Copyright © 2019 百盛彩票app 版权所有