个人网站备案名称填写,网站开发首选语言,海南专业网站运营托管,苏州关键词网站排名打开node命令行
$ node --expose-gc// --expose-gc:表示允许手动执行垃圾回收机制// 手动执行一次垃圾回收,保证获取的内存使用状态准确global.gc();// 查看内存占用的初始状态,process.memoryUsage();可以发现初始用了4.7MB左右
// 创建一个WeakMap()实例wmglobal.gc();// 查看内存占用的初始状态,process.memoryUsage();可以发现初始用了4.7MB左右
// 创建一个WeakMap()实例wmlet wm new WeakMap();// 创建一个变量key,指向一个5*1024*1024的数组let key new Array(5 * 1024*1024);// 将key数组set进实例wm中wm.set(key,1);// 手动执行一次垃圾回收,并查看此时的内存占用情况global.gc();process.memoryUsage();此时内存占用用到了47MB左右.
// 清除对key数组的引用,注意:没有清除实例wm对key的引用key null;// 再次手动执行垃圾回收机制一次,并查看内存状态global.gc()process.memoryUsage()可以看到此时的内存占用是5.1MB左右… 说明WeakMap类对键名的引用是弱引用…即:垃圾回收机制不将该引用考虑在内
参考《ES6标准入门》(第3版) P226、P228~P229