- 博客(8)
- 收藏
- 关注
原创 V8 垃圾回收机制 为什么 新生代对象比老年代对象容易回收?
大部分新创建的对象生命周期短,很快就会变成垃圾。Scavenge 算法专门针对“朝生夕死”的对象设计,通过复制存活对象的方式,能够以非常高的效率清理掉大量的死亡对象,且能有效地避免内存碎片。由于只需要复制少数存活对象,并直接清空整个空间,所以每次新生代回收的开销相对较低,停顿时间短。而老年代的对象被认为是长期存活的,其回收策略(标记-清除/标记-整理)更侧重于处理大量稳定对象和内存碎片问题,而不是频繁地清理大量短期垃圾。因此,从“回收的频率和效率”来看,新生代的对象确实“更容易回收”。
2025-07-13 16:10:05
583
原创 详解 Class 类 一文带你理顺 ES6 新语法糖 Class
在 JavaScript ES6 之后引入的 Class 是一个语法糖,它为创建对象提供了一种更清晰、更面向对象的方式。本质上,它仍然基于原型链继承,但提供了更接近传统面向对象语言(如 Java, C++)的语法,让开发者更容易理解和使用。
2025-06-29 17:01:35
812
原创 this指向(二)(词法环境&语法环境)
词法环境结构:相当于设计图纸(静态)—> 类词法环境实例:相当于 实际建造的房子(动态) —> 类实例化的对象当我们说“词法环境是在执行代码时创建的”,指的是词法环境的实例,而不是它的结构。结构是静态的,实例是动态的。
2025-06-22 15:28:10
779
原创 this指向(一)(执行上下文)
执行上下文(Execution Context)是JavaScript中非常重要的抽象概念,简单来说的是,它包含了变量、函数声明、作用域链以及this等信息,决定了代码在执行过程中如何访问和操作这些元素。执行上下文一共分为三种:全局执行上下文,函数执行上下文和 eval函数执行上下文(不推荐使用)this绑定,词法环境,变量环境首先我们来熟悉一下 JS 的整个执行过程。
2025-06-19 19:46:21
655
原创 Webpack 热更新 HMR
第三步是 webpack-dev-server 对文件变化的⼀个监控,这⼀步不同于第⼀步,并不是监控代码变化重新打包。第⼆步是 webpack-dev-server 和 webpack 之间的接口交互,而在这⼀步,主要是 dev-server 的中间件 webpack- dev-middleware 和 webpack 之间的交互,webpack-dev-middleware 调⽤ webpack 暴露的 API 对代码变化进行监控,并且告诉 webpack,将代码打包到内存中。
2025-06-14 21:13:49
368
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人