V8内存管理机制

作者: HelloWorld__JS | 来源:发表于2021-07-20 09:25 被阅读0次

限制内存的原因

  • V8最初为浏览器而设计,不太可能遇到大量内存的使用场景
  • 防止因为垃圾回收所导致的线程暂停执行的时间过长

V8的回收策略

  • V8采用了一种分代回收的策略,讲内存分为两个生代:新生代和老生代
  • V8分别对新生代和老生代使用不同的垃圾回收算法来提升垃圾回收的效率

新生代垃圾回收

  • from空间存放不需要被回收的对象,to空间存放需要被回收的对象
  • (下图为回收obj2)


    image.png

新生代对象的晋升

  • 在新生代垃圾回收的过程中,当一个对象经过多次复制后依然存活,他将会被认为是生命周期较长的对象,随后会被移动到老生代中,采用新的算法进行管理
  • 在From空间和To空间进行反转的过程中,如果To空间中的使用量超过了25%,那么就将From中的对象直接晋升到老生代内存空间中

老生代垃圾回收

  • 老生代内存空间是一个连续的结构


    image.png
  • 标记清除(会导致内存不连续)


    image.png
  • 标记合并


    image.png

相关文章

  • V8内存管理机制

    限制内存的原因 V8最初为浏览器而设计,不太可能遇到大量内存的使用场景 防止因为垃圾回收所导致的线程暂停执行的时间...

  • 谈谈js中的内存机制——垃圾回收机制

    内存管理机制就是分配内存管理,每种编程语言都有它的内存管理机制,JavaScript的内存管理机制是:内存基元在变...

  • Java内存管理机制 ————浅析原理

    java内存管理机制 内存泄漏 内存溢出 内存抖动: 话术整理 首先java的内存管理机制 gc的垃圾回收...

  • Android内存管理机制

    Android内存管理机制 [转载自大果仁Pareto的 android内存管理机制] 1、基于Linux内存管理...

  • 2019-05-30

    1. V8内存管理和相关问题 Node.js基于V8引擎,其内存管理就是V8的内存管理。 V8内置了自动垃圾回收(...

  • Android内存管理机制

    Android内存管理机制的定义 内存的分配 内存的回收 管理机制的说明 管理的内存对象 进程 对象 变量 管理的...

  • 内存优化(app专项测试)

    1.优化内存的常见操作 (一)内存管理机制 (二)常用内存监控工具 (三)内存优化案例分析 2.内存管理机制 AR...

  • iOS的内功:内存管理机制

    1.Objective-C的内存管理机制 OC的内存管理机制有三种,分别是ARC(自动内存管理),MRC(手动内存...

  • android内存管理

    内存管理机制概述 Android 的内存管理机制可以简单概括为:系统没有为内存提供交换区,它使用 paging (...

  • 内存机制

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

网友评论

    本文标题:V8内存管理机制

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