看到内存泄露的文章,谁有python内存泄露的实例分享吗?,泄露python,在一篇js的文章中看到,
看到内存泄露的文章,谁有python内存泄露的实例分享吗?,泄露python,在一篇js的文章中看到,
在一篇js的文章中看到, 闭包会导致内存泄露( 所以不用滥用 )
联想到python中, 使用 @装饰器 是非常常见的,
那么, 有内存泄露的实例吗 ?
以下是我的了解
我们常说的js的闭包导致内存问题,这个真不是js本身的锅,这是IE垃圾回收机制(GC)的bug(好像某个版本前的Firefox也是)。
用 js 的应该都知道,js 语言本身是不包含 DOM 对象的,DOM 对象是由浏览器生成和管理的,而IE浏览器的 DOM 对象 GC 机制用的是单纯的引用计数。
所以,当出现 DOM 的循环引用的时候,IE 的 GC 完全没法回收,内存就泄露了。
闭包只是比较容易产生循环应用,纯js对象的循环引用,是不会内存泄露的。只有在某些浏览器上,当js对象和DOM对象循环引用了,才可能内存泄露。
然后说下python
python 虽然是引用计数为主的GC模式,但是加上了检测 reachable (标记-清除和分代收集)的机制为辅,所以大部分循环引用是没有问题的。也不用担心装饰器造成类似 js 的内存泄露问题。
但是 python 循环引用还有可能触发不可回收的问题的(比如自定义__del__的对象循环引用),不过比较少见,如果想了解请自行搜索。
编橙之家文章,
相关内容
- 写python爬虫 BeautifulSoup find_all 返回的list不按照网页顺序
- apache服务器django socketio如何配置?,djangosocketio,测试运行
- Python类中装饰器使用与定义具体怎么操作,python装饰
- baidu云功能中有上传文件的接口吗?,baidu上传文件,初学
- 子字符串所在位置要怎么标记,有什么自带方法吗?,
- Python flup现在还在用吗?有什么替代,pythonflup,弱弱问问
- python异常的问题有代码求指教,关于raise语句,pythonrai
- Python urllib2读取网页打不开报urllib2.URLError错误,,使用
- 应该如何用matplotlib设置生成图片比例,,为了去除图片
- 测试数据库链接的API本地测试正常,链接服务器就报
评论关闭