写点什么

JavaScript WeakRefs and TC39 standardization

  • 2020-02-08
  • 本文字数:1790 字

    阅读完需:约 6 分钟

JavaScript WeakRefs and TC39 standardization

GMTC 深圳 2019 大会上,Daniel Ehrenberg 讲师做了《JavaScript WeakRefs and TC39 standardization》主题演讲,主要内容如下。


演讲简介


TC39 is the committee which defines the JavaScript standard. JavaScript developers have been telling us for many years that they need weak references and finalizer callbacks: These capabilities let programs hook into garbage collection to free up related resources. After several years of debate and refinement, TC39 has settled on a design for WeakRefs and FinalizationGroups which has reached Stage 3 in its process and will likely soon be shipping in browsers and Node.js. In this talk, I will explain how to use WeakRefs, as well as how TC39 works and how to get involved, so that we can work together for the future of JavaScript.


  1. Use cases for WeakRefs and FinalizationGroups

  2. (1) In-memory cache

  3. (2) Triggering errors on stranded resources

  4. (3) Using WebAssembly memory from JavaScript

  5. (4) In-memory cache with tombstone cleanup

  6. How TC39 develops JavaScript

  7. (1) What is TC39?

  8. (2) Development of the JavaScript standard

  9. (3) TC39 stage process

  10. (4) Some recent TC39 proposals

  11. Details of WeakRefs in TC39

  12. (1) History of this proposal in TC39

  13. (2) WeakRef and FinalizationGroup APIs

  14. (3) Weak guarantees in WeakRef/FinalizationGroup behavior

  15. (4) Scheduing interactions with deref() and FinalizationGroup callbacks

  16. Participating in TC39

  17. (1) Giving feedback on proposals via GitHub

  18. (2) Helping with tests and documentation

  19. (3) Creating implementations in Babel, tools, JS engines, etc

  20. (4) Joining Ecma to be a TC39 delegate


Audience benefits:


  1. Learn to use the new JavaScript WeakRefs feature

  2. Get involved in shaping the future of JavaScript through TC39


Frontier highlights:


WeakRefs and FinalizationGroups can lead to more precise, efficient memory consumption in modern JavaScript


Knowledge reserve:


  1. Know simple JavaScript

  2. Understand what garbage collection is


参考翻译


Javascript Weakrefs 和 TC39 标准化


内容大纲


TC39 委员会负责制定 JavaScript 标准。多年来,JavaScript 开发人员一直告诉委员会,他们需要弱引用和 Finalizer 回调:这些功能使得程序可以连接到垃圾收集中,以释放相关资源。经过几年的争论和改进,TC39 已经确定了 WeakRefs 和 FinalizationGroups 的一种设计方案,目前已经到了第 3 阶段,可能很快就会在浏览器和 Node.js 中发布。在本次演讲中,我将解释如何使用 Weakrefs,然后介绍 TC39 是如何工作的,以及如何参与其中,以便大家能够为 JavaScript 的未来共同努力。


  1. WeakRefs 和 FinalizationGroups 的用例

  2. (1)内存缓存

  3. (2)滞留资源触发错误

  4. (3)使用 JavaScript 中的 WebAssembly 内存

  5. (4)带逻辑删除的内存缓存

  6. TC39 如何开发 JavaScript

  7. (1)什么是 TC39?

  8. (2)JavaScript 标准的发展过程

  9. (3)TC39 阶段流程

  10. (4)近期 TC39 的一些建议

  11. TC39 中的 WeakRefs 细节

  12. (1)TC39 中本提案的历史

  13. (2)WeakRef 和 FinalizationGroup API

  14. (3)WeakRef/FinalizationGroup 行为中的弱保证

  15. (4)调度与 deref

  16. (5)和 FinalizationGroup 回调的交互

  17. 参与 TC39

  18. (1)通过 GitHub 反馈提案

  19. (2)帮助测试和文档

  20. (3)在 Babel、工具、JS 引擎等中创建实现

  21. (4)加入 Ecma 成为 TC39 代表


听众受益点


  1. 学习使用新的 JavaScript WeakRefs 特性

  2. 通过 TC39 参与塑造 JavaScript 的未来


前沿亮点


WeakRefs 和 finalizationgroup 可以使现代 JavaScript 中的内存使用更精确、更高效。


知识储备


  1. 了解简单的 JavaScript

  2. 了解什么是垃圾收集


讲师介绍


Daniel Ehrenberg,TC39 核心成员。


Daniel is an engineer at Igalia, an open source software cooperative. He participates in the TC39 and has dabbled in WebAssembly and web standards. He also worked on V8.


Daniel 是 TC39 的核心成员,他就职于 Igalia,这是一家自由软件咨询公司,希望通过自由软件让世界更美好。Daniel 还涉猎 WebAssembly 和 Web 标准,也参与了 V8 的开发。












完整演讲 PPT 下载链接


https://gmtc.infoq.cn/2019/shenzhen/schedule


2020-02-08 19:34884

评论

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

「摩根士丹利」最新人形机器人研报:头部人形机器人公司梳理和趋势分析(附报告)

机器人头条

科技 大模型 人形机器人 具身智能

如何选择分析型数据库?企业级选型指南与 2025 趋势解读

镜舟科技

云原生 OLAP BI 分析型数据库 StarRocks

21日报名截止!CommunityOverCode Asia 2025议题征集倒计时

白鲸开源

开源 Apache DolphinScheduler community

修改下内存配置,DolphinScheduler CPU飙升问题秒解决

白鲸开源

开源 Apache DolphinScheduler 用户案例

蔚来汽车智能座舱接入通义大模型,并使用通义灵码全面提效

阿里云云效

阿里云 云原生 通义灵码

不到一首歌的时间,AppStudio助你快速搭建 AI 智能体应用!

商汤万象开发者

人工智能 AI

Prometheus 性能调优:大模型和智能驾驶可观测的高基数问题

火山引擎开发者社区

AI 火山引擎

CAD提示无法更新实体填充

极客天地

互联网服务行业怎么定义?需要用到堡垒机吗?

行云管家

网络安全 数据安全 堡垒机

五个信创小知识汇总-行云管家

行云管家

信创 堡垒机 国产化

三维模型怎么剖切?三维剖切详细教程来了

在路上

cad cad看图 CAD看图王

项目管理工具:Jira vs Leangoo

axe

Jira 项目管理工具 办公软件 leangoo

新客户 | 美妆智造全面升级:毫秒级查询 + 极致压缩

TDengine

数据库 tdengine 时序数据库

CAD测量三维实体表面积方法

极客天地

CAD背景遮罩使用方法

极客天地

3月报|DolphinScheduler项目进展一览

白鲸开源

开源 Apache DolphinScheduler

蔚来汽车智能座舱接入通义大模型,并使用通义灵码全面提效

阿里巴巴云原生

阿里云 云原生 通义灵码

扫雷行动派|狄耐克服务万里不停歇,以Ai相伴到万家

新消费日报

CloudWeGo + APMPlus:打造从开发到可观测的一站式体验

火山引擎开发者社区

分布式架构 火山引擎

金融行业数字化转型破局:WhaleScheduler如何重塑万级任务调度体系?

白鲸开源

白鲸开源 WhaleStudio 商业案例

CAD图纸中插入图块的详细步骤与技巧

在路上

cad cad看图 CAD看图王

工业数据治理范式革新:TDengine虚拟表技术解析

TDengine

数据库 tdengine 时序数据库

《Operating System Concepts》阅读笔记:p700-p732

codists

操作系统

SpringAI版本更新:向量数据库不可用的解决方案!

王磊

用户行为分析正在被保险行业广泛采纳-ClkLog埋点分析系统

ClkLog

开源 数据分析 画像 埋点分析

AI超级计算机来了

PowerVerse

AI nvidia 芯片

教学资源管理系统的运营维护

北京木奇移动技术有限公司

软件外包公司 出版社 教学资源管理

企业数字化转型失败频率为什么这么高?

积木链小链

数字化转型 数字化 智能制造

教学资源管理系统的测试

北京木奇移动技术有限公司

软件外包公司 出版社 教学资源网

利用 DeepSeek-R1 模型和计算机视觉微调模型实现马铃薯叶片疾病识别和分类

亚马逊云科技 (Amazon Web Services)

第87期 | GPTSecurity周报

云起无垠

JavaScript WeakRefs and TC39 standardization_GMTC_Daniel Ehrenberg_InfoQ精选文章