如何检测对象是否被垃圾收集器删除
How I can detect if an object is removed by the Garbage Collector?
我需要一种方法来检测对象何时被Javascript上的GC处理,特别是V8引擎(我需要在google chrome和node上实现工作)
除非通过某种调试钩子,否则不能从程序内部进行修改。
EcmaScript委员会明确拒绝了一个提案,部分原因是它间接暴露了这样的事情:
请注意,
makeWeakRef
对于一般访问是不安全的,因为它授予了观察垃圾收集所固有的不确定性访问。由此产生的侧信道揭示了可能违反其他程序保密假设的信息。
换句话说,能够判断一个对象何时被垃圾收集可以允许JavaScript收集违反同源策略的其他代码的信息。
从V8的嵌入API中,你可以通过makeWeak
回调获得关于某些对象的通知:
当只有弱句柄引用对象时,垃圾收集器将对给定的
V8::WeakReferenceCallback
函数执行回调,将对象引用和给定的参数传递给它。
相关文章:
- 信任Javascript垃圾收集器
- Chrome扩展:链接收集器
- AngularJS-由$scope创建的作用域何时执行$new()已删除.垃圾收集器或Angular负责处理它吗
- 如何使用RequireJS优化器删除注释
- 如何使用d3.js选择器删除处理程序
- 是在window.location重定向后调用的垃圾收集器
- 在 JavaScript 上添加/删除侦听器(垃圾收集器)
- 如果 JS 未连接到 DOM 时,是否会使用事件侦听器删除双重创建的元素
- jscript 垃圾收集器的速度有多快?三.js矩阵旋转
- 音频事件在通过删除事件侦听器删除后仍然触发事件
- Undersatnding JavaScript 不可变变量和垃圾收集器
- 无法使用 Froala 编辑器删除服务器的图像
- 使用模板事件侦听器删除 Meteor.js 集合时出现问题
- 有没有办法在基于 webkit 的浏览器中强制使用 Javascript 垃圾收集器
- Jquery 日期选择器删除 onclick 和 onchange 并添加默认属性
- 更改Joomla中的编辑器删除了我的javascript,未保存..任何恢复的方法
- 使用引导程序标记管理器删除标记时获取回调
- spidermonkey上的垃圾收集器问题..JS_AnchorPtr()
- 我需要删除dom碎片或将垃圾收集器删除它们
- 如何检测对象是否被垃圾收集器删除