js的新生代垃圾回收知识点总结

 更新时间:2019年08月22日 16:25:20   作者:张啊咩  
在本篇文章里小编给大家整理的是关于js的新生代垃圾回收的相关知识点内容,有需要的朋友们可以参考学习下。

在进行老生代的标记清除法回收以前,还会有一个新生代的垃圾回收算法执行。

新生代和老生代

所谓新生代,指的是新产生的对象;老生代就是经历过新生代垃圾回收后还“存活”下来的对象。

新生代的垃圾回收算法 Scavenge GC

算法很简单:

1. 我们维护一个列表,老生代对象每次指向一个新生对象的时候,记录下来;每次删除指向的时候,删除记录。(这样我们就知道新生代对象里面,哪些对象是存活的了)

2. 我们把新生代对象的内存平均分开 2 份空间From 和 To

3. 每当有新生对象诞生,就会在 From 空间出现

4. 一旦 From 空间被占满,就触发 Scavenge GC

5. 根据维护的列表,我们从 From 空间拿出存活的对象,复制到 To 空间

6. 清空 From 空间 (这样就可以实现把不活跃的对象给回收掉)

7. From To 空间角色互换,开始下一轮循环

其中经历过回收还存活的对象,age++,在 Java 默认情况下,age 15 的时候会晋升到老生代,JS 规定的 age,博主还没查明

还有一种情况,当复制到 To 空间的时候, To 空间已经使用了25%,那么这个对象直接晋升到老生区。

以上对js的新生代垃圾回收浅析做了简单的介绍,感谢大家的阅读和对脚本之家的支持。

相关文章

  • 通过BootStrap实现轮播图的实际应用

    通过BootStrap实现轮播图的实际应用

    js我们没有学过,今天我是用bootstrap实现轮播图的效果,非常不错代码简单易懂,需要的朋友参考下吧
    2016-09-09
  • js引擎垃圾回收机制示例详解

    js引擎垃圾回收机制示例详解

    最近看到一些面试的回顾,不少有被面试官问到谈谈JS垃圾回收机制,下面这篇文章主要给大家介绍了关于js引擎垃圾回收机制的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-01-01
  • js正则表达式常用方法梳理(附代码案例)

    js正则表达式常用方法梳理(附代码案例)

    正则表达式在我们日程的工作项目中,应该是一个经常用到的技能,在做一些字符的匹配和处理的过程中,发挥了很大的作用,这篇文章主要给大家介绍了关于js正则表达式常用方法的相关资料,需要的朋友可以参考下
    2024-05-05
  • 详解ES6 export default 和 import语句中的解构赋值

    详解ES6 export default 和 import语句中的解构赋值

    这篇文章主要介绍了详解ES6 export default 和 import语句中的解构赋值,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-05-05
  • JavaScript实现滑动门效果

    JavaScript实现滑动门效果

    这篇文章主要为大家详细介绍了JavaScript实现滑动门效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-01-01
  • 页面中实现setInterval和setTimeout效果示例详解

    页面中实现setInterval和setTimeout效果示例详解

    这篇文章主要为大家介绍了不使用setTimeout和setInterval在页面中实现setInterval和setTimeout效果示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09
  • bootstrap提示标签、提示框实现代码

    bootstrap提示标签、提示框实现代码

    这篇文章主要为大家详细介绍了bootstrap提示标签、提示框的实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-12-12
  • Next.js解决axios获取真实ip问题方法分析

    Next.js解决axios获取真实ip问题方法分析

    这篇文章主要介绍了Next.js解决axios获取真实ip问题方法分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • 利用Echarts如何实现多段圆环图

    利用Echarts如何实现多段圆环图

    这篇文章主要给大家介绍了关于利用Echarts如何实现多段圆环图的相关资料,文中通过实例代码代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2022-03-03
  • 微信js-sdk 录音功能的示例代码

    微信js-sdk 录音功能的示例代码

    这篇文章主要介绍了微信jsdk录音功能的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11

最新评论