Python内存管理 r囧r小猫 2022-01-19 03:17 155阅读 0赞 # Python内存管理 # ## 1,什么是内存管理? ## > 内存管理是指在软件运行时,对计算机内存资源的分配和使用的技术 ## 2,内存管理的主要目的 ## > 高效快速的分配,并且在适当的时候释放和回收内存资源 ## 3,内存管理的三种机制 ## ### (1),引用计数器机制 ### **原理:** Python内部记录着所有对象的引用数量,该数量使用一个内部跟踪变量存储,这个跟踪变量就是引用计数器。一但单旦对象被创建,它对的引用计数器数值从0变成1。对象的引用计数随着对象引用数量的增加而增加。对象的引用数量每增加一个,引用计数器的值就增加1。反之,对象的引用数量没减少一个,引用计数器的值就会减少1,直到对象的引用计数器的值变成0时,就会被当做垃圾进行回收。 ### (2),垃圾回收机制 ### 当内存中不再使用某个对象时,垃圾收集器就会把他们清理掉,它会去检查哪些引用计数器值为0的对象,然后清理其所在的内存空间。 ### (3),内存池机制 ### Python垃圾回收机制会清理不再使用的内存,但它并不是将不用的内存返回给操作系统,而是放到内存池中,内存池机制用于管理小块内存的申请和释放。 ## 4,引用计数机制的不足与解决方案 ## **不足:** 1. 降低垃圾回收的效率 2. 不能解决**循环引用**问题 **解决方案:** 垃圾回收机制采用引用计数计数为主,标记-清除和分代收集计数为辅对垃圾收集功能进行完善。 转载于:https://juejin.im/post/5ce75568f265da1ba84a6a1d
还没有评论,来说两句吧...