标签:space 标记 存活 空间 引擎 GC 内存 V8
一、垃圾回收:将内存不在使用的数据进行清理,释放内存空间 v8将内存分为新生代空间和老生代的空间 新生代空间:用于存活较短的对象 :又分为二个空间:from空间和to空间 :Scavenge GC算法:当 from 空间被占满时,启动 GC 算法 存活的对象从 from space 转移到 to space 清空from space from space和to space交互 完成一次新生代GC 老生带空间:用于存活时间较长的对象 从新生代空间 转移到 老生代空间条件 经历过一次以上的Scavenge GC的对象 当to space空间体积超过了25% 标记清除算法: 标记存活对象,未被标记会被释放 增量标记: 小模块标记,在代码执行间隙执行,GC会影响性能 并发标记(最新技术): 不阻塞js执行 压缩算法:将内存中清除后导致的碎片化对象往内存堆的一端移动,解决内存的碎片化 二、 内存泄露 1,意外全部变量:无法被回收 2,定时器:无法被正确的关闭,导致所引用变量无法被释放 3,事件监听,没有正确的被销毁, 4,闭包,会导致父级的变量无法被释放 5,dom的引用,dom元素被删除了,内存中的引用未被删除
标签:space,标记,存活,空间,引擎,GC,内存,V8
来源: https://www.cnblogs.com/yayaxuping/p/10869710.html
本站声明:
1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。