写点什么

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

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

关注

评论

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

音视频&流媒体的原理以及基础入门知识

玩转音视频技术

Linux SRS 音视频开发 流媒体开发

架构实战营 第 6 期 模块二课后作业

火钳刘明

#架构实战营 「架构实战营」

Python 中有什么不容易让人察觉的有趣的事实?

Jackpop

全链路压测(九):容量评估和容量规划

老张

性能测试 全链路压测 稳定性保障

python中self与__init__怎么解释能让小白弄懂?

Jackpop

微服务分布式事务处理

俞凡

架构 微服务

微信朋友圈的高性能复杂度

锎心😌😌😌

2022第13周-技术分享记事

GeekYin

随笔 工作经验

软件设计模式:桥接模式

正向成长

设计模式 桥接模式

Go 学习笔记——Only For

为自己带盐

Go 4月月更

手写实现分布式锁

Linux服务器开发

分布式锁 协程 定时器 后端开发 Linux服务器开发

在终端中使用 GitHub Personal Access Token 访问仓库

信号量

MongoDB的原理、基本使用、集群和分片集群

神农写代码

在线时间戳计算时间差

入门小站

工具

Substrate Builders Program | 了解波卡生态云计算平台与最先进的查询节点框架

One Block Community

区块链 Substrate 波卡

CRMEB多商户后台前端代码打包并更新打包的代码到项目里面教程详解

CRMEB

网络安全之红蓝对抗实战

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 漏洞挖掘

模块2作业

KennyQ

茴字有四种写法,HTAP呢?

MatrixOrigin

数据库 MatrixOrigin MatrixOne 矩阵起源 超融合数据库

DIKW金字塔,AI爬到第几层了?

脑极体

8000字长文图解String,这次彻底搞懂了

Jackpop

框架中的自定义网关

Rubble

4月日更

mass哈希娱乐游戏Dapp开发搭建

薇電13242772558

区块链

每位互联网人才都应该明白怎么通过XSS获取cookie

喀拉峻

网络安全 安全 信息安全

对话核心开发者,波卡的EVM+最新技术分享活动回顾

One Block Community

区块链 Substrate EVM 波卡

C/C++程序员黄金方向-音视频基础知识和ffmpeg编译

玩转音视频技术

HLS SRS 音视频开发 流媒体开发 C/C++程序员

从单机定时到多层分发

程序员小航

Java 定时任务 XXL-JOB

Go 实现 WebSockets:2. 如何在 Go 中创建 WebSockets 应用程序

宇宙之一粟

Go 语言 web socket 4月月更

编程新手如何提高编程能力?

Jackpop

LotusDB 设计与实现—1 基本概念

roseduan

Go 数据库 存储

linux之tree命令

入门小站

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