Google開源Leak Finder——用于檢測內存泄漏的JavaScript工具

近日,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應用,我們對其潛力持樂觀態度”。

轉載于:https://www.cnblogs.com/shihao/archive/2013/01/08/2851662.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/260106.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/260106.shtml
英文地址,請注明出處:http://en.pswp.cn/news/260106.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

linux 定時訪問文件夾,Linux定時同步文件夾

-v, --verbose 詳細模式輸出-q, --quiet 精簡輸出模式-c, --checksum 打開校驗開關,強制對文件傳輸進行校驗-a, --archive 歸檔模式,表示以遞歸方式傳輸文件,并保持所有文件屬性,等于-rlptgoD-r, --recursive 對子目錄以遞歸模式處…

windows apache 開啟 GZIP

從服務端優化來說,通過對服務端做壓縮配置可以大大減小文本文件的體積,從而使加載文本的速度成倍的加快。目前比較通用的壓縮方法是啟用gzip壓縮。它 會把瀏覽器請求的頁面,以及頁面中引用的靜態資源以壓縮包的形式發送到客戶端,然后在客戶端…

python必備插件_5框酷斃的python插件工具

展開全部工欲善其事必先利其器,一個好的工具能讓起到事半功倍32313133353236313431303231363533e59b9ee7ad9431333433646531的效果,Python社區提供了足夠多的優秀工具來幫助開發者更方便的實現某些想法,下面這幾個工具給我的工作也帶來了很多…

Bootstrap3 排版-改變大小寫

通過這幾個類可以改變文本的大小寫。 <p class"text-lowercase">Lowercased text.</p> <p class"text-uppercase">Uppercased text.</p> <p class"text-capitalize">Capitalized text.</p> —–下面有個“頂…

linux系統如何調屏幕亮度,Linux入門教程:Ubuntu筆記本屏幕亮度調節

前天入手一臺Dell筆記本&#xff0c;i7第五代處理器&#xff0c;8G內存&#xff0c;1T硬盤&#xff0c;很符合我對移動工作站的要求。今天果斷將正版win8替換為Ubuntu&#xff0c;DIY的后果就是原來3秒啟動系統變成了現在15秒&#xff0c;忍了。但是另一個問題十分困擾我&#…

Centos7 更新pip和scipy

更新pip&#xff1a; pip install --upgrade pip 更新scipy包&#xff1a; pip install -upgrade scipy 轉載于:https://www.cnblogs.com/leewhite/p/6098211.html

poj 3258 River Hopscotch 【二分】

題目真是不好讀&#xff0c;大意例如以下&#xff08;知道題意就非常好解了&#xff09; 大致題意&#xff1a; 一條河長度為 L&#xff0c;河的起點(Start)和終點(End)分別有2塊石頭&#xff0c;S到E的距離就是L。 河中有n塊石頭&#xff0c;每塊石頭到S都有唯一的距離 問如今…

python的socks5全局代理_Python寫的Socks5協議代理服務器

直接上代碼&#xff1a;#!/usr/bin/python# Filename s5.py# Python Dynamic Socks5 Proxy# Usage: python s5.py 1080# Background Run: nohup python s5.py 1080 &import socket, sys, select, SocketServer, struct, timeclass ThreadingTCPServer(SocketServer.Threadi…

Zencart 給DHL運費模塊增加一個分區的方法

Zencart 給DHL運費模塊增加一個分區的方法 zencart給DHL運費模塊添加一個分區的方法很簡單&#xff0c;因爲該模塊已經做好了允許用戶添加更多分區的設置。 具體方法如下&#xff1a; 首先打開該運費模塊&#xff08;includes\modules\shipping\dhlzones.php 文件&#xff09;&…

linux 如何查看終端格式,你應該還不知道,Linux終端下的 Markdown 文檔查看器

原標題&#xff1a;你應該還不知道&#xff0c;Linux終端下的 Markdown 文檔查看器現在&#xff0c;Markdown 差不多已經成為技術文檔的標準。它可以實現技術文檔的快捷寫作&#xff0c;以及輸出發布。同樣都是標記語言&#xff0c;但Markdown 文檔相比HTML更加簡單。一是體現在…

更換硬盤

更換硬盤 1. 根據管理平臺的信息&#xff0c;找到損壞磁盤的位置 2. 取下壞盤&#xff0c;對比新盤的PN號 3. 將新的硬盤插回到磁盤柜 4. vol status -s 查看Spare Disks信息 &#xff0c;找到識別碼&#xff0c;例如4a.05.15 5. disk assign 4…

Android之 Fragment

什么是Fragment&#xff1a; Android是在Android 3.0 (API level 11)開始引入Fragment的。 可以把Fragment想成Activity中的模塊&#xff0c;這個模塊有自己的布局&#xff0c;有自己的生命周期&#xff0c;單獨處理自己的輸入&#xff0c;在Activity運行的時候可以加載或者移除…

怎么用python檢索法律_法律人,你的檢索與處理信息的方式,決定了你的專業程度...

昨天在后臺收到一位讀者留言&#xff1a;“我花了2天時間到各法院官網、法律數據庫網站、裁判文書及判例網站上搜索近十年我國經濟類犯罪案例。好不容易將案件手動分類&#xff0c;整理判例的定罪和量刑情況給當前的案子作參考&#xff0c;現在看到了結論&#xff0c;也不敢確定…

HDU1753: 大明A+B

大明AB Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 5533 Accepted Submission(s): 1870 Problem Description話說&#xff0c;經過了漫長的一個多月&#xff0c;小明已經成長了許多&#xff0c;所以他改了…

倒戈了,轉投簡書 --------

深情自白 還記得數月前那個月黑風高的晚上&#xff0c;筆主偶遇簡書&#xff0c;被那婀娜多姿的Markdown輸出深深吸引不能自拔&#xff0c;從此立下毒誓要兩邊同時發布。然而天有不測風云&#xff08;這邊的太丑&#xff09;&#xff0c;前思后想寢食難安之后作出決定&#xff…

如何通過windows控制linux,如何從Windows遠程控制Linux | MOS86

ifconfig將顯示您需要連接的IP地址。 如果Linux盒具有以太網連接&#xff0c;則該地址將在eth0旁邊列出。 如果以無線方式連接&#xff0c;請查找針對wlan0列出的IP地址。如果這不容易或不方便&#xff0c;則有另一種方法幾乎同樣簡單。 在瀏覽器窗口中&#xff0c;連接到路由器…

簡明Vim練級攻略(初學者)

http://blog.jobbole.com/18339/轉載于:https://www.cnblogs.com/sherry00/p/3931023.html

安卓psp模擬器聯機教程_刺激戰場國際服下載方法教程!安卓ios模擬器都有

刺激戰場國際服不需要VPN&#xff0c;不需要加速器。刺激戰場國際服賬號可以使用微信登入&#xff0c;進游戲頁面點擊more就可以了。安卓系統&#xff1a;①下載網易UU加速器&#xff0c;通過網易UU加速器平臺直接下載。②有的機型不能通過網易UU下載&#xff0c;但是可以通過Q…

[轉載] 民兵葛二蛋——第1集

轉載于:https://www.cnblogs.com/6DAN_HUST/archive/2013/01/15/2860782.html

菜鳥的jQuery源碼學習筆記(三)

1 each: function(callback, args) {2 return jQuery.each(this, callback, args);3 }, each:這個調用了jQuery.each方法&#xff0c;來遍歷當前集合。我們先來看看jQuery.each方法: //args是一個數組 each: function(obj, callback, args) {var value,i 0,length o…