javascript学习笔记 - 变量、作用域和内存问题
2024-10-19 14:42:57
一 垃圾收集
javascript具有自动垃圾收集机制。由垃圾收集机制标找出不再使用的变量。按照固定间隔的时间进行销毁,释放内存。
1.找出不再使用的变量的方法,如下:
1-1.标记清除
垃圾回收器会在运行的时候给存储在内存中的所有变量加上标记,然后去掉环境中的变量以及被环境中变量所引用的变量(闭包),在这些完成之后仍存在标记的就是要删除的变量了,因为环境中的变量已经无法访问到这些变量了,然后垃圾回收器销毁这些带有标记的变量机器所占空间。
1-2.引用计数
用的不多,因为容易引起内存泄漏(两个变量互相引用)。解决方法:手动标记 var test = null;
2.什么时候触发垃圾回收
垃圾回收器周期性运行。
二 管理内存
1.解除引用
1-1.一旦数据不再有用,最好通过将其值设置为 null 来释放其引用。
1-2.解除一个值的引用并不意味着自动回收该值所占用的内存。解除引用的真正作用是让值脱离 执行环境,以便垃圾收集器下次运行时将其回收。
最新文章
- C# 序列化与反序列化几种格式的转换
- linux中redis的主从
- 在Heroku上部署Node.js应用
- [C#]循环输出 000 - 999999
- DDD基本概念
- struts2:JSP页面及Action中获取HTTP参数(parameter)的几种方式
- uiwebview加载中文URL
- Android中ListView放入PopupWindow产生问题解决
- 根据用户输入的二代身份证号码自动为其计算生成出生日期的javascript方法
- select与epoll、apache与nginx实现原理对比
- Npoi导出xlsx
- vs2010 使用IIS EXPRESS出错.
- JDBC之初识
- HDU-1540 Tunnel Warfare
- 从C#到TypeScript - async await
- php函数的种类与调用方法大揭密
- oracle not in 改为 not exist
- 这可能是最为详细的Docker入门吐血总结
- web前端bug积累
- luogu P3726 [AH2017/HNOI2017]抛硬币
热门文章
- PHP的加解密:如何安装ioncube扩展?
- Redis哨兵原理详解
- openfire4.0.2源码 使用 IntelliJ IDEA 搭建开发环境
- HDU 4352 XHXJ's LIS (数位DP,状压)
- UVA 1616 Caravan Robbers 商队抢劫者(二分)
- [视觉识别]OpenCV + CNN 大神符识别
- tmpfs与内存盘
- 读书笔记-《深入理解Java虚拟机:JVM高级特性与最佳实践》
- TabControl重写,添加关闭按钮
- 66. Plus One@python