【Python基础】内存管理机制,i32100t(python 内存管理机制)
0evadmin
编程语言
10
文件名:【Python基础】内存管理机制,i32100t
【Python基础】内存管理机制
1. Python的内存分配 何时分配内存 使用对象时自动分配,查看对象内存所占大小,可以使用sys.getsizeof() 何时释放内存 不再使用对象时自动释放,释放时机由解释器内部策略控制 对象内存使用划分 一部分用于存储对象的数据一部分用于存储对象的引用 2.Python自动内存管理机制即垃圾回收机制 作用:负责定期扫描并自动回收不再使用的内存和对象 触发条件: 手动回收 gc.collect()加速自动垃圾回收的速度,解决内存不足的问题引用计数 引用计数从0开始,被引用则计数+1引用计数变为0时有两种场景: del 对象,会立即释放内存,等待复用对象=None,不会立即释放,等待自动垃圾回收可以使用sys.getrefcount(对象)去查看引用计数循环引用检测 对象之间相互引用会形成环状结构,使得引用计数不会降为0采用分代回收gc.set_threshold(threshold0,threshold1,threshold2):将所有对象分为0,1,2三代。所有新创建的对象都是第0代对象;当某一代对象经过垃圾回收后仍然存活,就会升级到下一代。内存池 预分配固定大小的内存块延迟释放。不再使用的内存块先保留在内存池,不会立即释放给操作系统对象复用,python首选会使用已释放的内存块,减少内存分配的开销 3.Python自动内存管理机制的缺点 内存泄漏 对象分配了内存了,不再使用时未立即释放内存引用计数不对/循环引用数据结构设计不正确打开文件未正确关闭 内存溢出 程序需要的内存大于系统空间的内存 性能下降 需要同时分配和释放内存 4.Python内存优化 降低全局变量的使用减少创建非必要的对象
同类推荐
-

【Python3】【力扣题】367. 有效的完全平方数,酷派8295
查看 -

【Python_GraphicsView 学习笔记(一)】Graphics View框架的基本介绍,cs单机版大灾变
查看 -

【Python】Python音乐网站数据+音频文件数据抓取(代码+报告)【独一无二】,昂达v711
查看 -

【Python】Web学习笔记_flask(5)——会话cookie对象,斯派森特行车记录仪(斯派德行车记录仪使用说明)
查看 -

【Python】人工智能-机器学习——不调库手撕深度网络分类问题,海信e860手机
查看 -

【Python】从入门到上头—Python基础(2),pcpop网(《python从入门到精通》)
查看 -

【Python】基于OpenCV人脸追踪、手势识别控制的求生之路FPS游戏操作,rs690
查看 -

【Python】基于数据库连接实现简单注册功能,酷派7500(python创建数据库连接)
查看 -

【Python】基于非侵入式负荷检测与分解的电力数据挖掘,sony lt26w
查看