概述: 不同于C/C++,像Python这样的语言是不需要程序员写代码来管理内存的,它的GC(Garbage Collection)机制 实现了自动内存管理。GC做的事情就是解放程序员的双手,找出内存中不用的资源并释放这块内存。 下面我们来看看Python的GC是怎么做的: Python自带的解释器 ...
分类:
编程语言 时间:
2019-03-10 15:05:59
阅读次数:
176
1). 在block内部使用外部指针且会造成循环引用情况下,需要用__week修饰外部指针: __weak typeof(self) weakSelf = self; 2). 在block内部如果调用了延时函数还使用弱指针会取不到该指针,因为已经被销毁了,需要在block内部再将弱指针重新强引用一下 ...
分类:
其他好文 时间:
2019-02-28 01:15:10
阅读次数:
209
一.垃圾回收机制 Python中的垃圾回收是以引用计数为主,分代收集为辅。引用计数的缺陷是循环引用的问题。 在Python中,如果一个对象的引用数为0,Python虚拟机就会回收这个对象的内存。 #encoding=utf-8 __author__ = 'kevinlu1010@qq.com' cl ...
分类:
编程语言 时间:
2019-02-25 23:13:50
阅读次数:
192
1、简述python引用计数机制 python垃圾回收主要以引用计数为主,标记-清除和分代清除为辅的机制,其中标记-清除和分代回收主要是为了处理循环引用的难题。 引用计数算法 当有1个变量保存了对象的引用时,此对象的引用计数就会加1 当使用del删除变量指向的对象时,如果对象的引用计数不为1,比如3 ...
分类:
编程语言 时间:
2019-02-09 16:27:53
阅读次数:
219
Spring BeanFactory 依赖注入 __Spring 系列目录()__ 一、autowire 五种注入方式测试 __(1) 环境准备__ __(2) xml 配置__ __(3) 测试一把__ 二、Spring 属性注入源码分析 2.1 属性注入 populateBean Spring ...
分类:
编程语言 时间:
2019-01-31 00:17:13
阅读次数:
162
Python的GC模块主要运用了“引用计数”(reference counting)来跟踪和回收垃圾。在引用计数的基础上,还可以通过“标记-清除”(mark and sweep)解决容器对象可能产生的循环引用的问题。通过“分代回收”(generation collection)以空间换取时间来进一步 ...
分类:
编程语言 时间:
2019-01-29 10:50:41
阅读次数:
177
jQuery的数据缓存模块以一种安全的方式为DOM元素附加任意类型的数据,避免了在JavaScript对象和DOM元素之间出现循环引用,以及由此而导致的内存泄露。 数据缓存模块为DOM元素和JavaScript对象提供了统一的数据设置、读取和移除方法,除了维护jQuery内部数据以外,它还支持用户自 ...
分类:
其他好文 时间:
2019-01-28 12:13:49
阅读次数:
182
Spring 循环引用(二)源码分析 __Spring 系列目录()__ Spring 循环引用相关文章: 1. 《Spring 循环引用(一)一个循环依赖引发的 BUG》: 2. 《Spring 循环引用(二)源码分析》: 一、Spring 中单例 bean 的管理 Spring 对单例 bean ...
分类:
编程语言 时间:
2019-01-27 14:45:47
阅读次数:
216
jQuery的数据缓存模块以一种安全的方式为DOM元素附加任意类型的数据,避免了在JavaScript对象和DOM元素之间出现循环引用,以及由此而导致的内存泄露。 数据缓存模块为DOM元素和JavaScript对象提供了统一的数据设置、读取和移除方法,除了维护jQuery内部数据以外,它还支持用户自 ...
分类:
其他好文 时间:
2019-01-26 15:18:44
阅读次数:
126
$ref的产生原因 (1)重复引用:一个集合/对象中的多个元素/属性都引用了同一个对象 (2)循环引用:集合/对象中的多个元素/属性在相互引用导致循环 针对fastjson的处理 fastjson作为一款序列化引擎,不可避免的会遇到循环引用的问题,为了避免StackOverflowError异常,f ...
分类:
其他好文 时间:
2019-01-25 15:15:23
阅读次数:
401