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

V8的垃圾回收器

垃圾回收算法

  1. 遍历GC Root(window,DOM,栈等)标记活动对象和非活动对象
  2. 回收非活动对象所占据的内存
  3. 内存整理

新生代和老生代

在V8中,会把堆分成新生代和老生代两个区域

  • 新生代通常只支持1~8M的容量,存放生存时间短的对象,由副垃圾回收器负责。
  • 老生代通常容量很大,存放生存时间长的对象,由主垃圾回收器负责。

Scavenge 算法(新生代)

在新生代中被划分为对象区和空闲区,新加入的对象全部加入对象区,当对象区快被写满时,就要进行一次垃圾回收操作。

233526686-e6ff7885-80c1-4fa5-86bf-b3367affc303

回收过程

因为要做频繁的复制操作,所以新生代一般设置容量较小。

副垃圾回收器还会采用对象晋升策略,移动两次仍然还存在就把它移动到老生代中去。

233526851-25448ec7-81e2-46c6-af5e-d59afaeed3aa

  1. 垃圾标记
  2. 副垃圾回收器把活动对象复制到空闲区,整理
  3. 两个区做一次交换,对象区变成空闲区,空闲区变成对象区
  4. 抹掉空闲区

标记算法(老生代)

  • 标记-清除从根开始遍历,标记那些不能被到达的元素,直接清除掉。会出现内存碎片所以接下来要整理操作。
  • 标记-整理标记活动对象,将它们移动到一端,然后清理掉后面的内存。

垃圾回收器的优化

垃圾回收是运行在主线程上的,所以进行垃圾回收时,会造成卡顿。

  • 并行回收,开多个线程同时进行
  • 增量回收,将垃圾收集分解成更小的颗粒,穿插的进行,一次只进行一小部分操作。
  • 并发回收,在主线程内,辅助线程可以在后台完成垃圾回收操作。
http://www.gsyq.cn/news/52289.html

相关文章:

  • 2025留学中介哪家好?厚仁/新通等5大品牌,多国联申/offer保障/名校申请/求职赋能全覆盖
  • 4th Universal Cup
  • 20232328 2025-2026-1 《网络与系统攻防技术》实验六实验报告
  • #2338. [22NOIP十连 Day 1] 数列
  • 20232308 2025-2026-1 《网络与系统攻防技术》实验六实验报告
  • 04-import 和 export
  • LiveGBS GB28181监控视频平台中如何配置文字文印或图片水印,将水印叠加到播放器或视频内容中
  • Linux 项目部署
  • curtime在MySQL触发器中的使用方法
  • Frida Hook Android手册
  • Trick 总结
  • 身份认证状态的存储与传递( Spring Boot篇 )
  • 国标GB28181算法算力平台EasyGBS打造园区智能化安防监控高效解决方案
  • ubuntu18解决 libc.so.6: version `GLIBC_2.28‘ not found
  • curl linux 命令
  • 2025年不锈钢网带链板制造企业权威推荐榜单:不锈钢平顶链板/ 链板/304不锈钢链板源头厂家精选
  • 算法课 PA2 T1
  • OpenAI Responses API 的战略意图与技术架构:AI 智能体时代的技术范式变革
  • JDK17 ProcessBuilder执行脚本报错 error=13
  • 2025年CNBD权威公开:淮安婚纱照拍摄十佳机构专业评测,弥素摄影工作室蝉联冠军宝座
  • cmake 安装 linux
  • docker compose, minikube, kind, dev containers, wsl2
  • 小学生兴趣班避坑指南:2025年实力机构TOP5,妙小程AI编程领衔推荐
  • 2025年11月安检门最新推荐厂家,手机安检门、贵金属安检门、高精度安检门、食品厂安检门、保密场所专用安检门​
  • fastadmin下的多级联动
  • NOIP 模拟赛 7 总结
  • 20232314 2025-2026-1 《网络与系统攻防技术》实验六实验报告
  • 2025年在淮安婚纱照拍摄团队公司实力盘点,弥素摄影工作室领衔十大精品机构
  • 当下山西比较好的纪念馆展示柜工厂排行榜揭晓
  • 2025年山西博物馆展示柜厂家排名前十权威推荐