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 相关文章推荐
javascript setTimeout和setInterval 的区别
Dec 08 Javascript
jQuery cdn使用介绍
May 08 Javascript
JS Jquery 遍历,筛选页面元素 自动完成(实现代码)
Jul 08 Javascript
jquery操作复选框(checkbox)的12个小技巧总结
Feb 04 Javascript
基于jQuery实现Div窗口震动特效代码-代码简单
Aug 28 Javascript
JavaScript实现标题栏文字轮播效果代码
Oct 24 Javascript
jQuery解决input元素的blur事件和其他非表单元素的click事件冲突问题
Aug 15 Javascript
Websocket协议详解及简单实例代码
Dec 12 Javascript
JavaScript实现的商品抢购倒计时功能示例
Apr 17 Javascript
详解在vue-test-utils中mock全局对象
Nov 07 Javascript
个人小程序接入支付解决方案
May 23 Javascript
VUE项目中加载已保存的笔记实例方法
Sep 14 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
抓取并下载CSS中所有图片文件的php代码
2011/09/26 PHP
鸡肋的PHP单例模式应用详解
2013/06/03 PHP
在PHP程序中使用Rust扩展的方法
2015/07/03 PHP
变量在 PHP7 内部的实现(一)
2015/12/21 PHP
php使用curl通过代理获取数据的实现方法
2016/05/16 PHP
laravel框架中表单请求类型和CSRF防护实例分析
2019/11/23 PHP
用JS提交参数创建form表单在FireFox中遇到的问题
2013/01/16 Javascript
js 单击式的下拉菜单效果实例
2013/08/13 Javascript
JavaScript中的异常捕捉介绍
2014/12/31 Javascript
jQuery插件DataTable使用方法详解(.Net平台)
2016/12/22 Javascript
jquery append与appendTo方法比较
2017/05/24 jQuery
JS中this的指向以及call、apply的作用
2018/05/06 Javascript
mui js控制开关状态、修改switch开关的值方法
2019/09/03 Javascript
JavaScript基础之this和箭头函数详析
2019/09/05 Javascript
ES6箭头函数和扩展实例分析
2020/05/23 Javascript
Vuex的各个模块封装的实现
2020/06/05 Javascript
Python读取图片EXIF信息类库介绍和使用实例
2014/07/10 Python
Python检测QQ在线状态的方法
2015/05/09 Python
python3 中文乱码与默认编码格式设定方法
2018/10/31 Python
将python文件打包成EXE应用程序的方法
2019/05/22 Python
Python帮你微信头像任意添加装饰别再@微信官方了
2019/09/25 Python
pytorch载入预训练模型后,实现训练指定层
2020/01/06 Python
GDAL 矢量属性数据修改方式(python)
2020/03/10 Python
Python接口开发实现步骤详解
2020/04/26 Python
python如何绘制疫情图
2020/09/16 Python
CSS3解决移动页面上点击链接触发色块的问题
2016/06/03 HTML / CSS
美国高档百货Nordstrom的折扣店:Nordstrom Rack
2017/11/13 全球购物
菲律宾最大的网上花店和礼品店:PhilFlower.com
2018/02/09 全球购物
Haggar官网:美国男装品牌
2020/02/16 全球购物
查询优化的一般准则有哪些
2015/03/08 面试题
银行实习人员自我鉴定
2013/09/22 职场文书
英文简历中的自我评价
2013/10/06 职场文书
二手房买卖协议书
2014/04/10 职场文书
常务副总经理任命书
2014/06/05 职场文书
玩手机检讨书1000字
2014/10/20 职场文书
Python自动化之批量处理工作簿和工作表
2021/06/03 Python