美文网首页
V8垃圾回收机制

V8垃圾回收机制

作者: 看到这朵小fa了么 | 来源:发表于2020-06-10 12:07 被阅读0次

https://juejin.im/post/5edb313df265da76c01be187#heading-1

首先要知道新生代和老生代的垃圾回收机制

  • 新生代:存储活跃的对象,有两个一样大的存储空间from 和to,分配空间从from分配,to空闲,当from达到内存上限,则将from中的活跃对象复制到to中,清空from对象,将两者的功能置换
  • 老生代:在新生代复制对象时,如果一个对象已经被复制过,或超过空间的25%,则将其放入老生代,这里有更大的存储空间

标记-清除

  • 副垃圾回收机制:对应新生代,标记-复制-清除。在清除from空间时,从根节点开始标记能访问到的节点或反之,将能访问到的节点进行复制
  • 主垃圾回收机制:对应老生代,也是标记-清除,由于空间大对象多,为了不占用过多单线程资源,进行了优化,与副垃圾回收机制不同点在于会将不活跃的对象直接进行清除,为了避免碎片空间,还需要进行标记-整理,将活跃对象复制到一端,再进行清除

优化

  • 并行式 新生代老生代互不影响,并行处理,占用主进程
  • 增量式 将垃圾回收分段处理,维护一个标记位和标记表,一开始均为白色,将根节点放入工作表置灰,查找活跃节点置灰,结束后将整个活跃对象置黑,最终只剩下黑色和白色则视为结束,在过程中,不允许黑色直接指向白色,将白色置灰后指向黑色,保证继续进行工作表的标记工作
  • 并发式 与js进程并发
  • 空闲时 通过计算来分配剩余空闲时间 最高50ms

相关文章

  • V8垃圾回收机制

    V8主要的垃圾回收算法 V8的垃圾回收策略主要基于分代式垃圾回收机制,主要将内存分为新生代和老生代,V8堆的整体内...

  • v8垃圾回收 - 2023-02-18

    V8引擎垃圾回收策略: V8的垃圾回收策略主要是基于分代式垃圾回收机制,其根据对象的存活时间将内存的垃圾回收进行不...

  • V8引擎的垃圾回收机制

    转载:V8引擎的垃圾回收机制

  • V8 内存管理和垃圾回收机制总结

    这篇文章主要介绍 V8 的内存管理和垃圾回收知识。 V8 内存管理及垃圾回收机制浅析 由于 V8 引擎的原因,No...

  • V8 GC机制

    这篇文章主要介绍 V8 的内存管理和垃圾回收知识。 V8 内存管理及垃圾回收机制浅析 由于 V8 引擎的原因,No...

  • 深入理解V8的垃圾回收原理

    垃圾回收机制 V8的垃圾回收策略基于分代回收机制,该机制又基于 世代假说。该假说有两个特点: 大部分新生对象倾向于...

  • V8垃圾回收机制

    介绍 V8的垃圾回收策略主要是基于分代垃圾回收机制。在垃圾回收演变的过程中,人们发现没有哪一种办法能够满足所有应用...

  • 优化你的内存

    这篇文章主要介绍 V8 的内存管理和垃圾回收知识。(总结来自网易课堂) V8引擎内存回收机制 为什么我们要关注内存...

  • 内存机制

    Node内存由V8进行分配的部分和Node自行分配的部分。 V8的垃圾回收机制与内存限制 V8的内存限制   因为...

  • V8的垃圾回收机制与内存限制

    V8的垃圾回收机制与内存限制 [图片上传失败...(image-5f42f7-1539618971675)]

网友评论

      本文标题:V8垃圾回收机制

      本文链接:https://www.haomeiwen.com/subject/vkiutktx.html