当前位置: 首页 > news >正文

建设境外网站合肥网站建设q479185700強

建设境外网站,合肥网站建设q479185700強,做网站的结论,营销推广型网站Node.js 中的 老生代#xff08;Old Generation#xff09; 和 新生代#xff08;New Generation#xff09;#xff0c;是指其运行的 V8 引擎内部管理 JavaScript 堆内存时使用的分代垃圾回收机制中的两个重要概念。理解这两代内存的作用#xff0c;有助于深入理解 Node…Node.js 中的 老生代Old Generation 和 新生代New Generation是指其运行的 V8 引擎内部管理 JavaScript 堆内存时使用的分代垃圾回收机制中的两个重要概念。理解这两代内存的作用有助于深入理解 Node.js 的内存管理和垃圾回收行为。 1. 背景什么是分代垃圾回收Generational GC V8 引擎采用 分代垃圾回收策略将堆内存分成不同的区域代主要基于“对象存活时间”的假设 绝大多数对象生命周期很短马上就会被回收 少数对象会存活较长时间 为了提升效率V8 把堆分成两个主要区域 新生代New Generation用于存放新创建的对象 老生代Old Generation用于存放存活时间较长的对象 2. 新生代New Generation 也叫“年轻代”或“新生代堆” 内存较小存储刚刚创建的对象 新生代的垃圾回收称为 Scavenge 或 Minor GC GC 频率高但耗时短 对象如果在新生代经过一定次数的垃圾回收仍未被回收就会被晋升到老生代 特点 小回收快频繁 适合回收生命周期短的对象 分为两个半区From Space 和 To Space复制算法实现回收 3. 老生代Old Generation 又称“长生代”或“老生代堆” 用来存放经过多次新生代 GC 后仍然存活的对象 堆空间较大 老生代的垃圾回收称为 Mark-Sweep 或 Mark-CompactMajor GC GC 频率低耗时相对长 负责回收生命周期长的对象 特点 较大回收较少但耗时较长 使用标记-清除和标记-整理算法进行回收 老生代满了会触发全堆垃圾回收Full GC对性能影响较大 4. 简单类比 新生代像是一个“缓冲区”新来的对象先在这里呆着经过几轮“考验”没被清理掉就晋升到老生代。 老生代则像是“持久区”存放那些经过验证存活时间长的对象。 5. Node.js 内存中的代际内存 Node.js 作为 V8 的宿主内存管理同样遵循上述分代机制 当你的 Node.js 程序创建大量临时对象时这些对象首先在新生代分配频繁被垃圾回收释放。 持久引用的对象如全局变量、长时间保持的缓存对象会被晋升到老生代。 老生代内存增长过快会导致较慢且影响性能的全堆垃圾回收。 6. 为什么分代GC对性能很重要 快速回收新生代减少暂停时间因为新生代的GC非常快减少对程序执行的影响。 减少对老生代的垃圾回收压力通过合理晋升和回收策略避免频繁耗时的全堆回收。 7. 你可以怎么用 可以通过启动参数调整堆大小和新生代大小影响性能和内存占用 node --max-old-space-size2048 yourApp.js # 最大老生代堆大小单位MB node --max-semi-space-size16 yourApp.js # 新生代空间大小单位MB不是所有版本都支持通过 process.memoryUsage() 查看 heapUsed 和 heapTotal但要深入查看新生代和老生代大小可以用 Chrome DevTools 或 v8 模块。 8. 总结 方面新生代 (New Generation)老生代 (Old Generation)作用存放新创建的短命对象存放存活时间长的对象大小小大GC 类型Scavenge (Minor GC)Mark-Sweep/Mark-Compact (Major GC)GC 频率高低GC 耗时短长性能影响小大 如果你想我还能帮你讲讲 V8 的垃圾回收算法具体实现、如何诊断内存泄漏以及调优技巧需要吗 二、Scavenge 和Mark-Sweep详细讲解 我们现在详细讲解一下 V8 引擎在 Node.js 中常用的两种垃圾回收算法 ✅ Scavenge清除式回收 —— 用于 新生代New Generation ✅ Mark-Sweep标记-清除 —— 用于 老生代Old Generation 一、Scavenge 算法清除式 GC用于新生代 背景 新生代空间小GC 频繁因此需要一种 快速且高效 的垃圾回收算法。Scavenge 是一种基于 复制算法Copying GC 的实现它将新生代内存划分为两块区域。 工作原理 新生代被划分为两个半区semi-spaceFrom Space 和 To Space。 对象先被分配到 From Space。 当 GC 被触发时 扫描 From Space 中仍然“存活”的对象。 把活着的对象 复制到 To Space。 然后清空 From Space。 完成后From 和 To 的角色对调。 新生代 (New Gen)----------------------| From | To |----------------------| 活对象 | 空白 | -- 回收后 From、To 对调晋升Promotion 当一个对象在新生代中 经历过多次 GC 仍然存活或 To 空间不足以容纳它时它就会被晋升到老生代。 ✅ 优点 回收快适合小对象。 对短命对象非常高效。 ❌ 缺点 要使用 两倍空间。 不适合回收大量长生命周期对象。 二、Mark-Sweep 算法标记-清除 GC用于老生代 背景 老生代内存大对象生命周期长不能频繁复制。适合使用更精细的垃圾回收算法。 工作原理 Mark标记阶段 遍历对象图标记出仍然“可达”的对象可通过 GC Root 找到。 这些可达对象被打上“存活”的标记。 Sweep清除阶段 扫描整个堆回收那些未被标记的对象。 不会整理内存碎片。 内存块: [Obj1] [X] [Obj2] [X] [X] [Obj3]标记后: ✓ ✗ ✓ ✗ ✗ ✓清除后: [Obj1] [ ] [Obj2] [ ] [ ] [Obj3]可能引发的问题 由于只清除内存没有整理碎片会造成内存碎片fragmentation。 三、Mark-Compact标记-整理 为了解决 Mark-Sweep 带来的内存碎片问题V8 在需要时使用 Mark-Compact标记-压缩 算法。 原理 先标记 然后将所有存活对象往一边移动整理出连续的空闲内存块 清除前: [Obj1] [X] [Obj2] [X] [Obj3]压缩后: [Obj1] [Obj2] [Obj3] [ ] [ ]❗ 这是耗时最高的回收方式用于内存整理。 四、对比总结 特性/算法Scavenge复制Mark-Sweep老生代Mark-Compact整理应用区域新生代老生代老生代内存碎片多时触发时间复杂度快速 O(n)较慢 O(n)最慢 O(n)带移动成本内存碎片无有无空间需求高需要双倍空间低低对象处理方式存活对象复制到另一块区域删除不可达对象删除不可达对象 整理存活对象 五、如何查看 Node.js 垃圾回收情况 你可以通过下面的方式查看 node --trace-gc app.js输出示例 [GC: scavenge 1.0 (1.2) - 0.7 (1.0) MB, 0.2 ms] [GC: mark-sweep 10.2 (20.0) - 5.0 (10.0) MB, 12 ms]六、结语 这两种算法配合使用构成了 V8 引擎的高性能垃圾回收机制 Scavenge 快速回收短命对象 Mark-Sweep / Mark-Compact 处理长生命周期对象 这样不仅节省资源还保持执行效率。 如果你想我还可以讲 如何用 Chrome DevTools 分析 Node.js 内存快照 Node.js 中的内存泄漏调试方式 --inspect 的 GC 监控技巧 是否继续深入
http://www.hkea.cn/news/14350987/

相关文章:

  • 为什么备案关闭网站网站开发全栈教程
  • 专业的google推广公司网站加载优化
  • 佛山论坛建站模板谷歌chrome官网
  • 哪个网站做新中式百度小程序怎么做
  • 杭州网站建设h5深圳做网站网络公司怎么样
  • 图文广告设计百度搜索优化费用
  • 松江网站开发培训课程班级网站怎么做ppt
  • php做的网站收录工程建设信息网站资质公告
  • 腾讯云备案 网站名称wordpress 导航高亮
  • 网站建设功能的策划书做一套网页设计多少钱
  • 网站维护公司北京网站建设排名
  • 合肥商务科技学校网站建设门户网站开发哪家好
  • ftp 迁移 网站义乌网站建设
  • 支持wap网站的系统网站建设启示
  • 山东住房建设部网站做第三方库个人网站
  • 商城用什么系统做网站flash网站建设技术精粹
  • 网站建设开发哪个好学谁有手机网站
  • 做网站用小公司还是大公司好网站建设的工具
  • 如何开发高端客户裤子seo优化标题
  • 苏州园区建设网站首页短链接转换工具
  • 潍坊程序设计网站建设公司公众号制作开发公司
  • 模板网站和定制网站的区别如何做代刷网站
  • 大连网站如何制作成品网页大全下载
  • 网站开发要营销策略研究论文范文
  • 不通过第三方平台做微网站宝塔一键wordpress
  • 彩票网站代理怎么做深圳市宝安区中心医院
  • 网站导航栏自适应显示南京网站开发联系南京乐识
  • 龙岗住房建设局网站qq登录账号在线登录入口
  • 抚州建设工程造价管理站网站建设网站容易吗
  • 网站提取规则怎么设置简历制作专业机构