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


Posted in Javascript onAugust 22, 2019

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

新生代和老生代

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

新生代的垃圾回收算法 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的新生代垃圾回收浅析做了简单的介绍,感谢大家的阅读和对三水点靠木的支持。

Javascript 相关文章推荐
NODE.JS加密模块CRYPTO常用方法介绍
Jun 05 Javascript
jQuery将所有被选中的checkbox某个属性值连接成字符串的方法
Jan 24 Javascript
Jquery 实现table样式的设定
Jan 28 Javascript
Javascript中的call()方法介绍
Mar 15 Javascript
jQuery+PHP+MySQL实现无限级联下拉框效果
Feb 19 Javascript
vue中appear的用法
Aug 17 Javascript
JavaScript编程设计模式之构造器模式实例分析
Oct 25 Javascript
JS+CSS实现网页加载中的动画效果
Oct 27 Javascript
JS中数组与对象的遍历方法实例小结
Aug 14 Javascript
在Vue-cli里应用Vuex的state和mutations方法
Sep 16 Javascript
Echarts之悬浮框中的数据排序问题
Nov 08 Javascript
解决LayUI数据表格复选框不居中显示的问题
Sep 25 Javascript
JS实现移动端在线签协议功能
Aug 22 #Javascript
jQuery表单选择器用法详解
Aug 22 #jQuery
node实现简单的增删改查接口实例代码
Aug 22 #Javascript
微信小程序实现上传图片裁剪图片过程解析
Aug 22 #Javascript
ES6基础之 Promise 对象用法实例详解
Aug 22 #Javascript
ES6基础之数组和对象的拓展实例详解
Aug 22 #Javascript
node express使用HTML模板的方法示例
Aug 22 #Javascript
You might like
自定义php类(查找/修改)xml文档
2013/03/26 PHP
php中异常处理方法小结
2015/01/09 PHP
php实现简易计算器
2020/08/28 PHP
php实现图片压缩处理
2020/09/09 PHP
escape、encodeURI、encodeURIComponent等方法的区别比较
2006/12/27 Javascript
JavaScript对象之间的转换 jQuery对象和原声DOM
2011/03/07 Javascript
js中继承的几种用法总结(apply,call,prototype)
2013/12/26 Javascript
jquery序列化表单以及回调函数的使用示例
2014/07/02 Javascript
用javascript读取xml文件读取节点数据
2014/08/12 Javascript
解决jquery版本冲突的有效方法
2014/09/02 Javascript
JavaScript使表单中的内容显示在屏幕上的方法
2015/06/29 Javascript
JavaScript中的函数(二)
2015/12/23 Javascript
jQuery实现拖动剪裁图片作为头像
2016/12/28 Javascript
JS 学习总结之正则表达式的懒惰性和贪婪性
2017/07/03 Javascript
JavaScript实现三级联动效果
2017/07/15 Javascript
vue路由懒加载的实现方法
2018/03/12 Javascript
vue-router的钩子函数用法实例分析
2019/10/26 Javascript
node事件循环和process模块实例分析
2020/02/14 Javascript
jQuery三组基本动画与自定义动画操作实例总结
2020/05/09 jQuery
python中将阿拉伯数字转换成中文的实现代码
2011/05/19 Python
仅利用30行Python代码来展示X算法
2015/04/01 Python
理解Python垃圾回收机制
2016/02/12 Python
深度辨析Python的eval()与exec()的方法
2019/03/26 Python
使用matlab或python将txt文件转为excel表格
2019/11/01 Python
如何在 Django 模板中输出 "{{"
2020/01/24 Python
python默认参数调用方法解析
2020/02/09 Python
Python 里最强的地图绘制神器
2021/03/01 Python
HTML5 Canvas画线技巧——实现绘制一个像素宽的细线
2013/08/02 HTML / CSS
雪花秀美国官方网站:韩国著名草本护肤化妆品品牌
2016/10/19 全球购物
酒店管理专业毕业生推荐信
2013/11/10 职场文书
翻译学院毕业生自荐书
2014/02/02 职场文书
大学专科求职信
2014/07/02 职场文书
2014法院干警廉洁警示教育思想汇报
2014/09/13 职场文书
公务员个人年终总结
2015/02/12 职场文书
大学生求职信怎么写
2015/03/19 职场文书
Python 一键获取电脑浏览器的账号密码
2022/05/11 Python