写点什么

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

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

关注

评论

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

云管理软件哪家好?有哪些功能?咨询电话多少?

行云管家

云计算 云服务 云平台 云资源 云管理

Selenium修改HTTP请求头三种方式

FunTester

测试 HTTP selenium FunTester UI自动化

手写自定义迭代器,秒懂迭代器底层原理

Tom弹架构

Java 架构 设计模式

一定要过等保吗?过了等保是不是非常安全?

行云管家

网络安全 等保 堡垒机 等级保护

在线问诊系统功能以及快速发展的意义

风行无疆

恒源云(GPUSHARE)_云GPU服务器如何使用 TensorBoard?

恒源云

深度学习

CODING Compass —— 打造行云流水般的软件工厂

CODING DevOps

DevOps 研发管理工具 流程化

【重磅官宣】UDC2022:解码Z世代、力造科技潮生活

科技热闻

Linux应该怎么学?《Linux一学就会》教你如何学习Linux

侠盗安全

Linux linux运维 云计算架构师

2022第十五届北京国际智慧城市、物联网、大数据博览会

InfoQ_caf7dbb9aa8a

三分钟永久激活WebStorm、PHPStorm、PyCharm、IntelliJ IDEA等JetBrains系列IDE

echeverra

pycharm webstorm IntelliJ IDEA PHPStorm

全能文件恢复软件推荐

淋雨

数据恢复

勒索软件即服务与IAB产业浅析

腾讯安全云鼎实验室

安全攻防 勒索病毒

(文末福利)云上论剑,谈谈如何构建新的数据系统技术体系

Zilliz

数据库

校招 C++ 大概学习到什么程度?

博文视点Broadview

浅谈网络性能之端到端业务质量分析

鲸品堂

运营商

识别AI换脸!百度这项技术夺冠了!

百度开发者中心

AI

同城本地生活信息服务软件开发你知道多少?

风行无疆

编解码再进化:Ali266 与下一代视频技术

阿里云CloudImagine

阿里云 音视频 视频编码 视频编解码 视频云

数据基础设施支撑电力人工智能:新能源集控智能管理

EMQ映云科技

人工智能 物联网 电力

Flink Sort-Shuffle 实现简介

Apache Flink

大数据 flink 实时计算

自定义View:如何实现双击点放大图片控件

Changing Lin

11月日更

【云图说】DRS数据对比——带您随时观测数据一致性

华为云数据库小助手

GaussDB 华为云数据库 华为云DRS

Python Qt GUI设计:信号与槽的使用方法(基础篇—7)

不脱发的程序猿

Python qt PyQt GUI

模块三作业

Geek_1d37ea

架构训练营

Vue进阶(幺捌贰):父子组件元素获取、方法互相调用

No Silver Bullet

Vue 组件通信 11月日更

墨天轮国产数据库沙龙 | 胡彦军:华为GaussDB迁移工具解密

墨天轮

数据库 华为云 GaussDB 国产数据库

SphereEx 中文开源社区正式开站!精美礼品等你来拿

SphereEx

开源社区 ShardingSphere SphereEx Apache ShardingSphere 中文开源

成为弹唱高手的秘诀!看这一篇就足够!

懒得勤快

恒源云(GPUSHARE)_云GPU服务器如何使用 JupyterLab?

恒源云

深度学习

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