摘要:
本文发表于2004年2月《CSDN开发高手》写作本文的初衷是想和大家分享垃圾收集( Garbage Collection )技术简单而有趣的发展史。动笔之前,我站在窗边,望了望正在小区里装运垃圾的清洁车。和生活中环卫工人们清运垃圾的工作相似,软件开发里的垃圾收集其实就是一种自动打扫和清除内存垃圾的技术,它可以有效防范动态内存分配中可能发生的两个危险:因内存垃圾过多而引发的内存耗尽(这和生活垃圾堵塞排污管道的危险并没有什么本质的不同),以及不恰当的内存释放所造成的内存非法引用(这类似于我们在生活中买到了一瓶已经过期三年的牛奶)。据历史学家们介绍,四千多年前的古埃及人已经在城市里建设了完善的排污和 阅读全文
摘要:
习惯于OOP语言编程后,会发现Javascript世界有很多匪夷所思的奇奇怪怪的现象(比如闭包),我花了大量的精力研究这些奇怪现象的根源,最后发现:源自于javascript的作用域不是块级作用域,同时它有一套基于作用域链的标识查找机制。本文大部分内容来自互联网,经过整理、改进而成。Javascript引擎和DOM采用的垃圾回收算法:引用计数javascript和DOM有各自的垃圾回收器,单独运作良好,合作时一不小心会出问题。引用计数这个算法的缺陷就是:Javascript 对象和DOM对象彼此循环引用,造成彼此的引用计数永远不能为0,垃圾回收器无法正确回收这些参与循环引用的对象,最终造成内存 阅读全文