写点什么

Google 开源 Leak Finder——用于检测内存泄漏的 JavaScript 工具

  • 2013-01-08
  • 本文字数:777 字

    阅读完需:约 3 分钟

近日,Google 开源了 Leak Finder ,这款工具可以查看 JavaScript 应用的堆,进而发现内存泄漏。

作为一门垃圾收集语言,JavaScript 并不会出现常见的内存泄露情况,特别是像 C++ 等语言中所见到的那种。但如果依旧将内存分配给那些不再使用的对象,那么应用就会出现内存泄漏;如果泄漏情况很严重,那么应用的性能就会受到影响,甚至无法执行。

JavaScript 中会导致内存泄漏的一种情况就是循环引用,特别是在使用闭包的情况下。当闭包导致内存泄露时,Leak Finder 能够检测到,然后警告开发者并指出有问题的代码。该工具会在堆中查找 Google Closures 的 goog.Disposable 对象,验证 dispose() 方法是否得到调用以及事件监听器是否得到释放,因为他们持有着 DOM 对象的引用,因此会导致内存泄漏。

目前,Leak Finder 与 Closures 搭配使用,但你也可以通过配置让其与其他库搭配使用。Closures 是个开源的 JavaScript 库,包含了小部件、一个事件框架、用于操纵 DOM 的工具、一个单元测试框架、动画工具等组件,在 GMail、GDocs 及 GMaps 等众多 Google 服务中得到了广泛应用。

此外,代码分析必须得在 Chrome 21 及更高版本上进行,并且使用远程调试与开发者工具。

Google 此前曾开源了不少 JavaScript 工具,如 Closure Compiler (用于生成紧凑且高性能代码的工具)、 Closure Templates (用于动态生成 HTML)、 Closure Linter (JavaScript 风格检查器)及 Closure Stylesheets (对 CSS 的一套扩展)。早在去年 6 月,Google 曾发布了 GWT (另一个用于构建 JavaScript 应用的工具集)的一个发布候选版,但其未来还是有些不太明朗,因为 Google 将很多 GWT 开发者都转到了 Dart 上,后者被看作是“对 GWT 的一次巨大变革,可以为最终用户创建出更棒的 Web 应用,我们对其潜力持乐观态度”。

查看英文原文: Google Open Sources Leak Finder, a JavaScript Tool for Detecting Memory Leaks

2013-01-08 00:517585
用户头像

发布了 88 篇内容, 共 263.1 次阅读, 收获喜欢 8 次。

关注

评论

发布
暂无评论
发现更多内容

2023年最佳Aspera替代方案,选择适合的Aspera替代方案

镭速

前端经典面试题(有答案)

loveX001

JavaScript 前端

“堆内存持续占用高 且 ygc回收效果不佳” 排查处理实践

京东科技开发者

前端 堆内存 回收器 JavaScrip 企业号 3 月 PK 榜

问:React的setState为什么是异步的?

beifeng1996

前端 React

老生常谈React的diff算法原理-面试版

beifeng1996

前端 React

志愿者招募令|来!一起Build OceanBase第一次开发者大会

OceanBase 数据库

数据库 oceanbase

根据文本描述生成视频,Tune-A-Video 效果惊艳

Zilliz

计算机视觉

美团前端二面面试题

loveX001

JavaScript 前端

YOLOv5全面解析教程⑤:计算mAP用到的Numpy函数详解

OneFlow

人工智能 深度学习

前端必会react面试题

beifeng1996

前端 React

见山,见路,见天地:OpenHarmony的开源共建攀登

脑极体

开源鸿蒙

一文深度解读音视频行业技术发展历程

阿里云CloudImagine

云计算

C++入门简单实例

老王同学

c++ 入门

美团前端常见react面试题(附答案)

beifeng1996

前端 React

新一代通信协议—— RSocket

老周聊架构

响应式编程 2月月更 rsocket

如何快速理解事务隔离

Dinfan

数据库 innodb 事务隔离

重磅 | 超级自动化行业黑马九科信息再获数千万A+轮融资 ——电科信息领投,深创投索斯福跟投,老股东信天创投、青松基金追加投资

九科Ninetech

号码隐私保护服务:保障亿万消费者的隐私安全

阿里云CloudImagine

云计算

一次线上OOM问题分析

艾小仙

Java OOM 问题排查 排查方法

NLP 双数组字典树(double array trie) 基于darts-java改进,增加词性存储。

alexgaoyh

elasticsearch nlp darts-java 词性 double array trie

一文看懂:近期不断 “狂飙” 的 ChatGPT | 社区征文

架构精进之路

ChatGPT

ChatGPT 不仅是 AI 的成功,也是云计算的成功 | 社区征文

多颗糖

云计算 AI 云原生 ChatGPT

Python:Excel自动化实践入门篇 乙【送图书活动继续】

eng八戒

Python Excel Python自动化办公

面试官:说说Event Loop事件循环、微任务、宏任务

loveX001

JavaScript 前端

N皇后问题的回溯法实现

老王同学

c++ 八皇后 回溯法

chianmaker交易初探

liwh1227

区块链 共识算法 联盟链架构

研发效能度量标准与实践

思码逸研发效能

研发效能

一起玩转开源数据库!OceanBase DevCon 之开源生态全景解析

OceanBase 数据库

数据库 oceanbase

ChatGPT看技术发展趋势| 社区征文

芯动大师

人工智能 openai ChatGPT

22道js输出顺序问题,你能做出几道

loveX001

JavaScript 前端

Google开源Leak Finder——用于检测内存泄漏的JavaScript工具_开源_Abel Avram_InfoQ精选文章