内存池管理
- 一切皆为引用(动态语言)
- 常量和短字符串会缓存
- 底层通过c的malloc和free进行内存分配和释放(对象大小大于256会在此分配),每一次malloc会分配256k
- 如果请求分配的内存在1~256字节之间就使用自己的内存管理系统
- 简单的python对象,例如数值、字符串、元组,采用的是深拷贝
- 复杂python对象,dict、list等,浅拷贝
- 回收不会立即free
- 参考链接
python垃圾回收:
- (主)引用计数垃圾回收,标记清除消除循环引用问题
- (辅)分代回收(python对象分为0、1、2代,对象若经历一定次数的对象回收,自动归入下一代),不直接free内存,加速对象创建。
参考链接