写点什么

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:517712
用户头像

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

关注

评论

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

【Alibaba微服务技术系列】「SpringCloud技术专题」基于SpringCloud-Alibaba的微服务2.0模式架构搭建实战指南(解析版本对应关系)

码界西柚

SpringCloud SpringCloud Alibaba 12 月 PK 榜 服务搭建

如何在Android安卓环境运行小程序游戏

Onegun

安卓 andiod 小游戏

去哪儿是如何做到大规模故障演练的?

TakinTalks稳定性社区

自动化 混沌工程 故障演练

伙伴福利,100个项目彻底精通Java!【开源】

JavaPub

Java 源码 javaWeb

架构实战营模块二作业

张贺

架构训练营

持续应用安全(CAS)研讨之:Fuzzing

云起无垠

构建数字时代下的软件供应链安全体系

云起无垠

软件 软件供应链安全

做7秒动画赢13W大奖?总奖池超80W、国内最火爆的3D渲染动画创作大赛开始报名!

Renderbus瑞云渲染农场

3D渲染动画大赛 3D动画制作 瑞云渲染CG竞赛

为云原生插上翅膀,天翼云弹性存储CStor-CSI助力容器腾飞

天翼云开发者社区

容器 云原生 云存储

极客时间运维进阶训练营第八周作业

独钓寒江

带你手把手实操一个RPC框架

得物技术

架构 中间件 java client prc 12 月 PK 榜

Python 缩进语法的起源:上世纪 60-70 年代的大胆创意!

Python猫

Python

什么是BPM系统?BPM流程管理系统介绍

优秀

BPM 业务流程管理

YMatrix 创始人姚延栋,获“最具发展潜力与创新影响力的创业者”称号

YMatrix 超融合数据库

创业 超融合数据库 YMatrix

小游戏开发者变现攻略

Onegun

小程序 超级app 小游戏

易观千帆 | 10月手机银行APP用户体验GX评测

易观分析

手机银行 GX评测

详述TLS握手流程

穿过生命散发芬芳

TLS 12月月更

新思科技发布第13版软件安全构建成熟度模型报告

InfoQ_434670063458

安全评估 新思科技 BSIMM

JAVA中的注解可以继承吗?

JAVA旭阳

Java

如何绘制甘特图?这里有一份最全的教学指南(建议收藏使用)!

PMO实践

甘特图 PMO 项目经理

如何设计一个高性能的图 Schema

NebulaGraph

图数据库 图建模

大数据培训课程哪里比较好?

小谷哥

java开发哪家机构比较好?

小谷哥

开发小游戏的流程及难点汇总

Onegun

小程序 小程序容器 小游戏 小游戏开发

手动测试依然很重要

FunTester

DTCC2022预告 | 玖章算术叶正盛:程序员必须掌握的数据库原理

NineData

数据库 数据迁移 数据管理 DTCC2022 NineData

银行普惠金融可持续发展能力建设——风控科技应用

易观分析

金融 银行

前端开发需不需要通过培训来学习

小谷哥

我们是如何追逐元宇宙、XR等“概念股”浪潮的?

阿里巴巴终端技术

3D渲染 3D vr

应用并管控“两库”是信创软件安全的核心能力

云起无垠

Fuzzing

盘点新能源汽车常用的8种传感器

元器件秋姐

传感器 新能源汽车 智能传感器 新能源 IGBT

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