阿里云「飞天发布时刻」2024来啦!新产品、新特性、新能力、新方案,等你来探~ 了解详情
写点什么

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

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

关注

评论

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

一个低成本确保IM消息时序的方法探讨

WorkPlus

低代码实现探索(二十五)DDD,事件,指令

零道云-混合式低代码平台

一起看看MySQL中的隐藏列

华为云开发者联盟

MySQL 事务 主键 唯一索引 隐藏列

java开发之Mybatis 快问快答

@零度

mybatis JAVA开发

SAE 最佳实践范本:助力视野数科进入云原生“快车道”

Serverless Devs

Serverless SAE

模块五 - 微博评论系统高性能高可用设计

圈圈gor

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

尚硅谷2022版Java课程体系,霸气来袭

@零度

Java 尚硅谷

认识 Express 的 res.send() 和 res.end()

编程三昧

JavaScript 前端 nodejs Express 1月月更

使用 Lambda 表达式实现超强的排序功能

看山

Lambda java8 排序 1月月更

如何快速实现离散企业全链路数字化管理

华为云开发者联盟

数据采集 华为云IoT 智能制造 黑湖科技 数据中枢

迪斯尼《曼达洛人》艺术总监和制作设计师亲自揭秘背后的虚拟场景制作

龙智—DevSecOps解决方案

perforce 曼达洛人 西部世界 虚拟场景

MultipartFile与File的一些事

华为云开发者联盟

spring File 文件 MultipartFile 中转文件

【云图说】DDS读写两步走,带您领略只读节点的风采

华为云开发者联盟

数据库 节点 DDS 文档数据库 DDS读写

架构实战营模块五作业

lchx08

「架构实战营」

模块五作业-微博评论高性能高可用计算架构

CH

架构实战营

jar包与war包的部署

你?

Spring 都在用的技术,你确定不过来看看?3️⃣

XiaoLin_Java

可能是推荐系统最详细且简单的入门教程

JavaEdge

1月月更

ReactNative进阶(二十七):createMaterialTopTabNavigator 顶部导航组件

No Silver Bullet

1月月更 ReactNative

PHP 遇见 Serverless,帮你解决这些痛点!

Serverless Devs

微博评论高性能高可用计算架构

Evan

QuanXiang 2022 Q1 开源路线图

全象云低代码

开源 工作流 低代码 表单

WTM活动回顾|WomenTechmakers 2021 Courage to Create

江湖老铁

虎符推出AMM流动性资金池 支持现货专区做市赚收益

区块链前沿News

流动性 虎符 Hoo 虎符交易所 AMM

TiDB 在国信证券海量数据高并发场景中的实践

PingCAP

Jira Software 年度总结:12个重要功能大放送!

龙智—DevSecOps解决方案

Jira Atlassian Atlassian Jira

焱融科技年度报告如约而至,如 Beijing 初雪

焱融科技

云计算 分布式 云原生 高性能 文件存储

『TDengine2021用户故事』征文活动进入投票阶段!

TDengine

tdengine

一文读懂HarmonyOS服务卡片怎么换肤

HarmonyOS开发者

HarmonyOS

「元宇宙十万个为什么」:为什么元宇宙值得投资?

WorkPlus

过年回家前,先签收这份“外挂”

龙智—DevSecOps解决方案

Atlassian Confluence 到期日提醒 confluence插件

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