内存: 指的是程序所占用的空间
为什么要管理内存?
1.每创建一个对象,会在内存中开辟一小块空间,来存放对象。
2.内存的空间是有限制的,不能无限使用。
3.把不需要再使用的对象所占用的空间清理掉。
内存管路一分为两种形式:自动管理和手动管理。
手动管理:C语言
自动管理:Python,OC
Python中如何做内存管理的?Python中垃圾回收机制是什么?
Python是自动管理内存的,通过引用计数的方式进行管理,当对象被创建的时候,引用计数为1,当对象被调用的时候,引用计数+1,当删除对象的引用时,引用计数-1,当对象的引用计数为0的时候,系统会在合适的时候,清楚对象所占用的内存
内存泄漏:
对象的引用计数没有及时删除,导致对象无法得到释放
过度释放:
对象的引用计数被过度删除,导致后面的代码无法再使用这个对象
p1 = People()
p1.name = '张三'
# 当对象被其他变量引用时,引用计数+1
list2 = []
list2.append(p1)
# 当对象引用被删除时,引用计数-1
list2.remove(p1)
# 当对象的引用计数为0时,对象会被删除,占用内存清空
# del p1
# 确定后边不会再使用p1
print(p1)
Python内存管理机制
最新推荐文章于 2024-06-20 11:18:12 发布